Skip to content

feat(build): add THEROCK_COMGR_DLL_NAME to override comgr DLL name - #6971

Merged
lamb-j merged 2 commits into
mainfrom
users/lambj/comgr-dll-name-option
Jul 31, 2026
Merged

lamb-j merged 2 commits into
mainfrom
users/lambj/comgr-dll-name-option

Conversation

@lamb-j

@lamb-j lamb-j commented Jul 29, 2026 •

Copy link
Copy Markdown
Contributor

Adds a top-level THEROCK_COMGR_DLL_NAME option that forwards -DCOMGR_DLL_NAME=<value> to both the amd-comgr build (comgr's output name) and hip-clr (the name CLR loads), keeping the two in sync. Empty default = today's behavior (amd_comgr); effect is Windows-only.

Lets a build ship an OpenCL-flavoured comgr (amd_comgr_opencl.dll) side-by-side with the ROCm on Window's comgr, for the Windows compute OpenCL driver rework.

ISSUE ID: #6970

Add a top-level THEROCK_COMGR_DLL_NAME option that, when set, forwards
-DCOMGR_DLL_NAME to both the amd-comgr subproject (comgr build output
name) and the hip-clr subproject (CLR's dynamic load of comgr). Empty
keeps each component's default (amd_comgr).

Both sides already read a COMGR_DLL_NAME cache var but the superbuild
never forwarded it, so they always fell back to amd_comgr. Driving both
from one option keeps the built name and the loaded name in sync. The
effect is Windows-only (both uses are WIN32-guarded); harmless elsewhere.

Enables shipping an OpenCL-flavoured comgr (amd_comgr_opencl.dll) that
sits side-by-side with the HIP SDK's comgr.
@therock-pr-bot

therock-pr-bot Bot commented Jul 29, 2026 •

Copy link
Copy Markdown

✅ All Checks Passed — Ready for Review

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ✅ Pass PR does not contain code files — Unit Test auto-passed
🔎 pre-commit ✅ Pass —
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —
🤖 therock-pr-bot ✅ Pass —

🎉 All checks passed! This PR is ready for review.

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

🙋 Wish to Override Policy?

@therock-pr-bot

Copy link
Copy Markdown

🎉 All checks passed! This PR is ready for review.

@lamb-j
lamb-j requested review from chinmaydd and litvaOo July 29, 2026 20:04
Comment thread CMakeLists.txt Resolved
@lamb-j
lamb-j merged commit ac0c5cd into main Jul 31, 2026
143 of 150 checks passed
@lamb-j
lamb-j deleted the users/lambj/comgr-dll-name-option branch July 31, 2026 15:31
@github-project-automation github-project-automation Bot moved this from TODO to Done in TheRock Triage Jul 31, 2026
lamb-j added a commit that referenced this pull request Sep 9, 2026
`THEROCK_COMGR_DLL_NAME` (#6971) forwards `-DCOMGR_DLL_NAME` to
`amd-comgr` and `hip-clr`, but not `ocl-clr`. Since `ocl-clr` is a
separate configure of clr and compiles its own rocclr, it kept the
default `amd_comgr.dll` while comgr was built under the overridden name
— so the OpenCL runtime loads a DLL that is never produced. That is the
mismatch the option exists to prevent.

- Hoist the `_clr_comgr_dll_name_cmake_args` block to file scope; it sat
inside the `THEROCK_ENABLE_HIP_RUNTIME` guard, so an OpenCL-only build
never saw it.
- Pass it to `ocl-clr` as well.

Windows-only in effect, inert when the option is empty.

ISSUE ID: #6970
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants