Skip to content

build(hipblaslt): pass HIP version to TensileLite - #12200

Open
newling wants to merge 1 commit into
developfrom
users/newling/LCOMPILER-876-tensilelite-version-handoff
Open

newling wants to merge 1 commit into
developfrom
users/newling/LCOMPILER-876-tensilelite-version-handoff

Conversation

@newling

@newling newling commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

JIRA ID: LCOMPILER-876

Related: #7235

Motivation

hipBLASLt discovers the HIP package during CMake configuration, including its version, but its bundled TensileLite commands currently discard that information. TensileLite consequently invokes hipconfig --version when its toolchain components are imported, and TensileCreateLibrary separately validates hipconfig as an additional toolchain executable.

For hipBLASLt builds, this is unnecessary: CMake has already selected the HIP installation and knows its version. Passing that version to TensileLite avoids depending on a separate legacy executable and ensures the compiler tools and version metadata come from the same configured HIP package.

Technical details

The hipBLASLt CMake configuration now passes hip_VERSION to bundled Python commands through the ROCM_VERSION environment variable. TensileLite prefers this explicit value when present and accepts ordinary, build-suffixed, and prerelease forms such as 7.1.25424-4179531dcd and 10.1.0a20260813.

TensileCreateLibrary now validates its four actual compiler components: the C++ compiler, C compiler, offload bundler, and assembler. It no longer performs a second, independent validation of hipconfig.

This change intentionally preserves standalone compatibility. TensileLite invocations that do not receive ROCM_VERSION continue to use the existing hipconfig --version fallback. Standalone ROCm installation discovery and removal of that final fallback remain separate work.

Testing

Focused TensileLite version-discovery and library-creation tests pass, including explicit-version precedence, prerelease parsing, invalid input, and the standalone hipconfig fallback. A fresh hipBLASLt configuration confirmed that the selected HIP package version is embedded in bundled Python commands, and the corresponding minimal build completed successfully.

Use the HIP package version already discovered by CMake for bundled Python commands so configured builds do not need hipconfig for version discovery. Keep the existing hipconfig fallback for standalone invocations and stop validating it as an independent compiler component during library creation.
@therock-pr-bot

therock-pr-bot Bot commented Sep 16, 2026

Copy link
Copy Markdown

✅ All Checks Passed — Ready for Review

Check Status Details
📝 PR Description ✅ Pass
Forbidden Files ✅ Pass
🧪 Unit Test ✅ Pass
🔎 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.

@newling
newling requested a review from tony-davis September 16, 2026 18:41
@newling
newling requested a review from Alex-Vasile September 16, 2026 18:41
@newling
newling marked this pull request as ready for review September 16, 2026 18:41
@newling
newling requested review from a team as code owners September 16, 2026 18:41
@codecov

codecov Bot commented Sep 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop   #12200   +/-   ##
========================================
  Coverage    70.34%   70.34%           
========================================
  Files         2812     2812           
  Lines       463054   463075   +21     
  Branches     68187    68191    +4     
========================================
+ Hits        325706   325727   +21     
  Misses      113761   113761           
  Partials     23587    23587           
Flag Coverage Δ *Carryforward flag
TensileLite-CPP 46.40% <ø> (ø)
TensileLite-Unit 76.11% <100.00%> (+0.01%) ⬆️
hipBLAS 90.62% <ø> (ø) Carriedforward from 3ca9ff7
hipBLASLt 35.24% <ø> (ø) Carriedforward from 3ca9ff7
hipCUB 82.68% <ø> (ø) Carriedforward from 3ca9ff7
hipDNN 87.01% <ø> (ø) Carriedforward from 3ca9ff7
hipFFT 44.37% <ø> (ø) Carriedforward from 3ca9ff7
hipRAND 76.12% <ø> (ø) Carriedforward from 3ca9ff7
hipSOLVER 68.96% <ø> (ø) Carriedforward from 3ca9ff7
hipSPARSE 86.99% <ø> (ø) Carriedforward from 3ca9ff7
rocBLAS 48.31% <ø> (ø) Carriedforward from 3ca9ff7
rocFFT 48.44% <ø> (ø) Carriedforward from 3ca9ff7
rocRAND 57.42% <ø> (ø) Carriedforward from 3ca9ff7
rocSOLVER 76.83% <ø> (ø) Carriedforward from 3ca9ff7
rocSPARSE 74.61% <ø> (ø) Carriedforward from 3ca9ff7
rocThrust 91.60% <ø> (ø) Carriedforward from 3ca9ff7

*This pull request uses carry forward flags. Click here to find out more.

Files with missing lines Coverage Δ
...lt/tensilelite/Tensile/TensileCreateLibrary/Run.py 88.29% <100.00%> (+0.17%) ⬆️
...pblaslt/tensilelite/Tensile/Toolchain/Component.py 99.15% <100.00%> (+0.08%) ⬆️

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant