Skip to content

refactor(rocsparse): Remove the rocBLAS dependency from rocSPARSE - #12076

Draft
amontoison wants to merge 4 commits into
ROCm:developfrom
amontoison:rocsparse-drop-rocblas-dependency
Draft

amontoison wants to merge 4 commits into
ROCm:developfrom
amontoison:rocsparse-drop-rocblas-dependency

Conversation

@amontoison

Copy link
Copy Markdown
Contributor

Motivation

rocSPARSE depends on rocBLAS for a single function, rocblas_gemm_ex, reached through an internal shim.

It is used only by rocsparse_sddmm_alg_dense, which densifies the sparse output and calls a dense GEMM.

Every other routine, including the default SDDMM algorithm, has a native kernel.

Drop the dependency and map rocsparse_sddmm_alg_dense onto rocsparse_sddmm_alg_default.
The enum value stays valid and keeps its numerical value, so existing sources and binaries keep working.
It is simply documented as deprecated.

JIRA ID: AISPARSE-765

@therock-pr-bot

therock-pr-bot Bot commented Sep 14, 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.

@YvanMokwinski YvanMokwinski left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing! LGTM

@amontoison
amontoison marked this pull request as draft September 14, 2026 22:03
@codecov

codecov Bot commented Sep 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #12076      +/-   ##
===========================================
+ Coverage    70.25%   70.35%   +0.10%     
===========================================
  Files         2810     2808       -2     
  Lines       462525   461789     -736     
  Branches     68082    67958     -124     
===========================================
- Hits        324920   324866      -54     
+ Misses      114086   113463     -623     
+ Partials     23519    23460      -59     
Flag Coverage Δ *Carryforward flag
TensileLite-CPP 46.40% <ø> (ø) Carriedforward from b1bc1de
TensileLite-Unit 76.08% <ø> (ø) Carriedforward from b1bc1de
hipBLAS 90.62% <ø> (ø) Carriedforward from b1bc1de
hipBLASLt 35.24% <ø> (ø) Carriedforward from b1bc1de
hipCUB 82.68% <ø> (ø) Carriedforward from b1bc1de
hipDNN 87.02% <ø> (ø) Carriedforward from b1bc1de
hipFFT 43.07% <ø> (ø) Carriedforward from b1bc1de
hipRAND 76.12% <ø> (ø) Carriedforward from b1bc1de
hipSOLVER 68.92% <ø> (ø) Carriedforward from b1bc1de
hipSPARSE 86.99% <ø> (ø) Carriedforward from b1bc1de
rocBLAS 48.31% <ø> (ø) Carriedforward from b1bc1de
rocFFT 47.30% <ø> (ø) Carriedforward from b1bc1de
rocRAND 57.42% <ø> (ø) Carriedforward from b1bc1de
rocSOLVER 76.83% <ø> (ø) Carriedforward from b1bc1de
rocSPARSE 75.26% <100.00%> (+0.64%) ⬆️
rocThrust 91.60% <ø> (ø) Carriedforward from b1bc1de

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

Files with missing lines Coverage Δ
.../rocsparse/library/src/common/rocsparse_handle.cpp 36.02% <ø> (-0.45%) ⬇️
...s/rocsparse/library/src/level3/rocsparse_sddmm.cpp 85.53% <100.00%> (-1.38%) ⬇️
...csparse/library/src/level3/rocsparse_sddmm_coo.cpp 87.64% <ø> (+45.18%) ⬆️
...rse/library/src/level3/rocsparse_sddmm_coo_aos.cpp 87.64% <ø> (+44.94%) ⬆️
...csparse/library/src/level3/rocsparse_sddmm_csc.cpp 87.91% <ø> (+51.29%) ⬆️
...csparse/library/src/level3/rocsparse_sddmm_csr.cpp 87.91% <ø> (+51.29%) ⬆️
...csparse/library/src/level3/rocsparse_sddmm_ell.cpp 87.36% <ø> (+50.36%) ⬆️

... and 2 files 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.

2 participants