Repository navigation
fix(loader): resolve OpenMP symbol through torch - #2936
Conversation
🏷️ CI GuideRuns automatically on every eligible PR before approval:
Heavy model tests:
|
valar-cop
left a comment
There was a problem hiding this comment.
one thing to confirm before merge..
post-fix run in the rocm 10 nightly image showing the loader pool starts?
ci green.
|
Status: review thread resolved, all required checks green, ready to squash-merge — except the for_main gate needs one code-owner approval (I pushed the branch, so I can't self-approve). On the inline question — the fix resolves @gyohuangxin could you take a final look / approve when you get a chance? |
|
ci triage for 7d37484:
|
The ROCm 10.0 Nightly Docker Release fails while testing the image because loader worker initialization resolves
omp_set_num_threadsfrom the process-global symbol table. PyTorch may load its OpenMP dependency withRTLD_LOCAL, soctypes.CDLL(None)raisesundefined symbol: omp_set_num_threadsand breaks the loader thread pool.Resolve the symbol through the already-loaded
torch._Cextension and its dependency graph. This selects the same OpenMP runtime used by PyTorch while preserving the per-loader-thread limit. Add a regression test that verifies the lookup uses the torch extension rather than the global process handle.Failure evidence: https://github.com/ROCm/ATOM/actions/runs/41456304159
Validation:
python -m compileall atom/model_loader/loading_core.py tests/test_loader_threads.pygit diff --check