[rocsparse] Fix csric0 dispatch when rows have many nonzeros#5360
[rocsparse] Fix csric0 dispatch when rows have many nonzeros#5360jsandham wants to merge 6 commits intoROCm:developfrom
Conversation
Codecov Report❌ Patch coverage is
❌ Your project status has failed because the head coverage (77.21%) 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 #5360 +/- ##
===========================================
+ Coverage 66.43% 66.45% +0.02%
===========================================
Files 1793 1814 +21
Lines 277419 279234 +1815
Branches 38806 39217 +411
===========================================
+ Hits 184301 185562 +1261
- Misses 77117 77441 +324
- Partials 16001 16231 +230
*This pull request uses carry forward flags. Click here to find out more.
🚀 New features to boost your workflow:
|
|
There is change about the use of binsearch, you lowered the size. |
The hash algorithm is only usable up to 512 but the dispatch assumed it could be used up to 1024. This means that if there was a matrix with |
Thanks for the clarification, @jsandham |
Co-authored-by: Jeffrey Novotny <jnovotny@amd.com>
Motivation
Removes unneeded
WF_SIZEtemplate parameter from csrsm kernels. Fixes bug in csric0 where we could returnrocsparse_status_invalid_valuewhen the maximum number of non-zeros was between 513 and 1024.Technical Details
The hash algorithm is only usable up to 512 but the dispatch assumed it could be used up to 1024. This means that if there was a matrix with 512 < max_nnz <= 1024 we would dispatch to the hash table algorithm and then in the hash table algorithm we would throw an error as not supported. This is why I added an additional test to check 512 < max_nnz <= 1024 as without my change this test fails.