llvm
1cfe59df - [UR] Lazily initialize GlobalAdapter (#21490)

Commit
9 days ago
[UR] Lazily initialize GlobalAdapter (#21490) **Problem** `ur_win_proxy_loader` loads L0 adapter DLL in its `DLLMain`. Global variables are initialized during DLL loading and so is `GlobalAdapter` - which tries to initialize L0 driver (`zeInit`). `zeInit` may spawn threads and it's illegal to spawn threads directly or indirectly from `DLLMain`. This is causing deadlock with some L0 driver versions. **Proposed Solution** Lazily initialize `GlobalAdapter`, just like what we do on Linux.
Author
Parents
Loading