build(hipblaslt): add Windows DLL VERSIONINFO metadata#9294
Conversation
libhipblaslt.dll shipped without PE VERSIONINFO, so its Windows file properties showed no File/Product version. Add a version.rc resource (configured from the existing hipblaslt_VERSION_* variables) and compile it into the shared DLL on Windows, mirroring the rocBLAS/hipBLAS fix in PR #6144. Guarded on WIN32 + shared build, so Linux and static builds are unaffected. ROCM-27433
✅ All Checks Passed — Ready for Review
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🎉 All checks passed! This PR is ready for review. |
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project status has failed because the head coverage (76.84%) is below the target coverage (80.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## develop #9294 +/- ##
========================================
Coverage 65.07% 65.07%
========================================
Files 2685 2685
Lines 422269 422269
Branches 62742 62742
========================================
Hits 274763 274763
Misses 126785 126785
Partials 20721 20721
*This pull request uses carry forward flags. Click here to find out more. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Adds Windows PE VERSIONINFO resources to the hipBLASLt shared library so libhipblaslt.dll reports file/product version metadata in Windows file properties, aligning hipBLASLt with the existing rocBLAS/hipBLAS approach.
Changes:
- Add a
version.rc.intemplate forlibhipblaslt.dllVERSIONINFO metadata. - Update hipBLASLt CMake to generate
version.rcon Windows and link it into the sharedhipblaslttarget.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| projects/hipblaslt/library/src/version.rc.in | Adds VERSIONINFO resource template with company/product/version strings and git-commit comment. |
| projects/hipblaslt/CMakeLists.txt | Generates version.rc on WIN32 and adds it to the shared hipblaslt target sources. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
libhipblaslt.dll shipped without embedded PE VERSIONINFO metadata, so on Windows its file properties (Details tab) showed no File version / Product version. This adds a Windows version resource compiled into the DLL, matching the fix already landed for rocBLAS and hipBLAS in #6144. The parent defect (ROCM-20935 / PR #6144) covered rocblas.dll and hipblas.dll and explicitly left libhipblaslt.dll as a follow-up; ROCM-27433 is that follow-up.
Risk Assessment
Risk 2. Windows-only, build-time metadata change guarded on
WIN32and shared-library builds; no source/runtime behavior, ABI, or numerical impact. It reuses the existinghipblaslt_VERSION_*variables and the same resource pattern already proven on rocBLAS/hipBLAS.Related
JIRA ID: ROCM-27433
Device / Architecture Coverage
Architecture-independent. This only affects the Windows PE resource embedded at link time of libhipblaslt.dll; it does not touch kernels, dispatch, or any gfx-specific path. A green Windows build in PR CI is sufficient; no device sweep required.
Testing Summary
Testing Checklist
Flags / Guardrails
None. Change is unconditional for Windows shared builds; no runtime flag.
Adjacent Tests Considered
There is no automated harness for embedded PE VERSIONINFO in this repo; rocBLAS/hipBLAS (#6144) validated the equivalent change by manual inspection of the built DLL, and this follows the same approach. Linux and static builds are unaffected (the resource is WIN32 + shared only).
Risk Acceptance / Waivers
W-BUILD: build/packaging-only change with no product-code behavior change; regression coverage is a manual DLL-properties check plus the Windows CI build, consistent with how the sibling rocBLAS/hipBLAS fix (#6144) was validated. No automated PE-metadata test exists to add.
Technical Changes
projects/hipblaslt/library/src/version.rc.in(VERSIONINFO template;OriginalFilenamelibhipblaslt.dll).projects/hipblaslt/CMakeLists.txt, onWIN32: capture the git commit hash, stamp the copyright year,configure_filethe template into the build tree, and add the generatedversion.rcto the sharedhipblaslttarget.