Pull requests / #2183
#2183 Windows HIP: dynamically resolve hipKernelNameRefByPtr and map auto PCIe mode to DMA
open · @dvasdekis · 0 comments · View on GitHub
BenchmarksAMD / HIPNVIDIA / CUDAModels & quantsWindowsLinux
Description
### Summary Fixes two Windows HIP runtime issues: 1. **Loader crash STATUS_ENTRYPOINT_NOT_FOUND (0xC0000139)**: - src/core/verify.cpp uses hipKernelNameRefByPtr for node inspection under STRATA_VERIFY_NODES. - On Windows, amdhip64_7.dll (from AMD TheRock wheels / ROCm 10.2 / 7.2.4 nightly) does not export hipKernelNameRefByPtr, although the symbol exists in the import library amdhip64_7.lib. - As a result, strata.exe linked cleanly but terminated immediately upon execution before entering main(). - Resolved by dynamically resolving hipKernelNameRefByPtr via GetProcAddress under _WIN32, gracefully returning nullptr if unexported. 2. **PCIe offload auto mode on Windows HIP**: - On Windows HIP, device kernels cannot dereference host virtual memory directly (hipHostGetDevicePointer does not provide an alias). - --pcie-mode auto previously selected kernel mode (mode 2). - Added resolve_pcie_mode(), routing --pcie-mode auto to host-to-device DMA streaming (mode 0) on Windows HIP. ### What it leaves alone - Linux HIP, CUDA, and SYCL paths are unchanged. - Output logits and token generation remain bit-identical. ### Verification - Tested on Windows 11 with AMD Radeon RX 9070 XT (gfx1201), ROCm 10.2. - strata.exe launches normally without DLL entry point errors. - Verified on Qwen3.8-Flash-Next Coder IQ1_M with 15/15 passed on bench/quality_suite.py.
Related on strata.com
Editorial links to help you install, pick models, or read release notes — not part of the upstream thread.