Repository navigation
refactor(rocsparse,hipsparse): retire 4.7/5.0 feature flags - #11265
Merged
Merged
Conversation
Remove build-time flags that shipped default-on in releases 4.7 and 5.0, drop the CMake options and config macros, and make the guarded code paths permanent (SpILDLT0, ILU0 boost sign, handle_create, u16 removal, CSC SpSV/SpSM). Co-authored-by: Cursor <cursoragent@cursor.com>
✅ 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. |
Remove HIPSPARSE_WITH_SPMV_BSR / HIPSPARSE_ENABLE_SPMV_BSR now that BSR SpMV shipped default-on in hipSPARSE 4.6; make BSR format APIs, enums, and tests unconditional on ROCm while keeping CUDA version gates where required. Co-authored-by: Cursor <cursoragent@cursor.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #11265 +/- ##
===========================================
- Coverage 70.54% 69.86% -0.68%
===========================================
Files 2810 2793 -17
Lines 462436 460292 -2144
Branches 68077 67940 -137
===========================================
- Hits 326219 321576 -4643
- Misses 112673 115319 +2646
+ Partials 23544 23397 -147
*This pull request uses carry forward flags. Click here to find out more.
🚀 New features to boost your workflow:
|
Restore the missing #endif after hipsparseCreateBsr that broke the preprocessor layout when HIPSPARSE_WITH_SPMV_BSR was removed, and run clang-format 19 on changed sources to satisfy Math CI format checks. Co-authored-by: Cursor <cursoragent@cursor.com>
Reformat changed lines with git-clang-format and the ROCm/clang-format-18 style (#if( not #if () so static-analysis Format Check matches CI. Co-authored-by: Cursor <cursoragent@cursor.com>
The SPMV_BSR flag removal script dropped the CUDART_VERSION guard #endif after testing_spmv_bsr_bad_arg; only the feature-flag wrapper endif should have been removed. Co-authored-by: Cursor <cursoragent@cursor.com>
Restore rocsparse_routine brace spacing to match develop and format new
BSR CUDA guards as "#if (" for clang-format 19 used by static-analysis.
Co-authored-by: Cursor <cursoragent@cursor.com>
Wrap new CreateBsr/CreateConstBsr guards in clang-format off/on so
clang-format 18 (pre-commit) and 19 (Math CI) agree on "#if(" spacing.
Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve the retired-flag conflicts against 409 commits of develop. In every case the rule was the same: flags retired by this PR become unconditional, while flags introduced on develop for current 5.1 work stay gated. Conflicts resolved: - projects/rocsparse/CMakeLists.txt: keep develop's new BUILD_WITH_ELL_TRSV and BUILD_WITH_DIAGONAL_SOLVE options; drop the four retired ones. - library/src/CMakeLists.txt: keep develop's ELL_TRSV-gated ellsv sources; keep the ILDLT0 source list ungated. - clients/tests/CMakeLists.txt, clients/benchmarks/CMakeLists.txt: keep the new ELL_TRSV-gated test and benchmark sources; drop the ILDLT0 gates, whose sources are already unconditional here. - docs/doxygen/Doxyfile: PREDEFINED keeps the three live flags (SPMAT_SCALE, SDDMM_BATCHED, DIAGONAL_SOLVE) and drops HANDLE_CREATE and ILDLT0. - clients/testings/testing_sptrsv.cpp: keep develop's DIAGONAL_SOLVE skip; drop the CSC_TRSV skip now that CSC is always built. Also fixes a silent regression that merged cleanly on its own. develop's new library/src/level2/rocsparse_diagonal_solve.cpp guards its CSC branch on ROCSPARSE_WITH_CSC_TRSV/CSC_TRSM with an #else that returns rocsparse_status_not_implemented. With those macros retired the guard would have compiled fine and quietly disabled CSC for the diagonal solve, so the branch is now unconditional. build_csr_from_csc and cscsv_operation_to_csr are static inline in headers and need no gate. No references to the seven retired flags remain anywhere in the tree.
kliegeois
marked this pull request as ready for review
September 3, 2026 18:52
The conflict resolutions in clients/tests, clients/benchmarks, and testing_sptrsv.cpp each left a doubled blank line where a removed retired-flag block used to sit, showing up as gratuitous additions in the diff against develop. No build effect.
amontoison
approved these changes
Sep 9, 2026
amontoison
left a comment
Contributor
There was a problem hiding this comment.
A few minor comments.
Co-authored-by: Alexis Montoison <35051714+amontoison@users.noreply.github.com>
Restore consecutive-assignment padding that clang-format 18 dropped so static-analysis Format Check passes.
jsandham
reviewed
Sep 14, 2026
jsandham
approved these changes
Sep 14, 2026
Contributor
TheRock Submodule Bump ActivityNewest first
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
JIRA ID: AISPARSE-760
Summary
ILDLT0,ILU0_BOOST_SIGN,HANDLE_CREATE,U16_REMOVED) and hipSPARSE 4.7 CSC flags (CSC_TRSV,CSC_TRSM) that were already default-on in release.SPMV_BSRflag; BSR SpMV format/API/tests are now unconditional on ROCm (CUDA version gates unchanged).Still flagged (current 5.1 work — not in scope):
ROCSPARSE_WITH_SPMAT_SCALE,ROCSPARSE_WITH_SDDMM_BATCHED,HIPSPARSE_WITH_SPGEAM.Test plan
./install.sh -c -a gfx1201 --no-rocblasrocsparse-test --gtest_filter='*spildlt0*:*handle_create*:*spsv_csc*:*spsm_csc*:*sptrsv*'*spsv_csc*,*spsm_csc*,*spmv_bsr*)