ci : bundle HIP runtime DLLs with Windows ROCm release - #26973
Conversation
|
what are the compatibility guarantees between the kernel driver and the runtime on windows? |
This comment was marked as resolved.
This comment was marked as resolved.
|
The plan is to maintain backward compatibility between the kernel driver and runtime interfaces on Windows. |
|
@IMbackK @CISC can we proceed with bundling HIP DLLs or you prefer other solution, something like this: ROCm/TheRock#7143 For more context please check: https://github.com/ScottTodd/rocm-workspace/blob/main/reviews/pr7143-review-packet/02-windows-dll-loading-and-rocm.md |
CISC
left a comment
There was a problem hiding this comment.
Please show a successful Release job run.
Copy amdhip64_7 and rocm_kpack next to the binaries so the correct HIP runtime loads over the driver's copy in System32. Fixes ggml-org#26929.
f9aefd2 to
99aeb1a
Compare
… in build\bin\Release; single-config Unix Makefiles would put it in build\bin
|
This reverts commit 6742e7e. The upstream step (PR ggml-org#26973) does not fix what our artifact is missing. It bundles the HIP runtime -- amdhip64_7.dll, rocm_kpack.dll, amd_comgr.dll -- but an unpacked f711 artifact still reports no device, because the missing pieces are rocBLAS/hipBLASLt and their Tensile kernel directories. Verified on b10665: --list-devices printed "(none)" with the bundled DLLs present, and still printed "(none)" with them moved aside. We fill those in with patch-rocm-runtime.ps1 from a single reference tree (b10400) so rocBLAS stays constant across measured arms, which also means the bundled DLLs must be kept out of the way to avoid a version mismatch. They only cost ~140 MB per zip. Binaries are unaffected -- this only changes artifact packaging. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014sv3jRGzvPZZpr1uFQegyb
Update the fork description for the current production branch (f711-rdna-b10665-chatfix, rebased onto upstream b10665) and document the rebase procedure the stack is held to: which commits were dropped, the one conflict that needed a real merge (rope.cu), and the three gates that follow a hand-written merge. Also record why the CI artifact still needs the ROCm runtime patched in, and why upstream PR ggml-org#26973 does not replace that step. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014sv3jRGzvPZZpr1uFQegyb
|
Just a thought - what about if we had a Powershell script that we distributed with the artifact to help do this for people and the guidance is to launch llama.cpp with the Powershell script? Also - if we do this with a script, I doubt that those variables need to be set as admin. The entire thing should be doable as a user. Basically these steps in the script:
The script could then be treated as a llama.cpp wrapper. Any arguments passed to it could be passed directly to |
Copy amdhip64_7, amd_comgr and rocm_kpack next to the binaries so the correct HIP runtime loads over the driver's copy in System32. Fixes ggml-org#26929.


Overview
Copy
amdhip64_7.dll,rocm_kpack.dllandamd_comgr.dllnext to the llama.cpp binaries so the correct HIP runtime loads over the driver's copy in System32. Fixes #26929.Requirements