Skip to content

[rocsparse] move the lock variables within the atomic_add_by_CAS functions - #3725

Merged
kliegeois merged 2 commits into
ROCm:developfrom
kliegeois:inside_fct
Jan 9, 2026
Merged

kliegeois merged 2 commits into
ROCm:developfrom
kliegeois:inside_fct

Conversation

@kliegeois

Copy link
Copy Markdown
Contributor

The lock variables used for atomic_add_by_CAS do not have to be outside of the scope of the function.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3725      +/-   ##
===========================================
+ Coverage    81.99%   82.04%   +0.05%     
===========================================
  Files          501      476      -25     
  Lines        42847    34633    -8214     
  Branches      5327        0    -5327     
===========================================
- Hits         35130    28412    -6718     
- Misses        3490     6221    +2731     
+ Partials      4227        0    -4227     
Flag Coverage Δ
rocSPARSE 82.04% <ø> (?)
rocThrust ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...rocsparse/library/src/include/rocsparse_common.hpp 80.65% <ø> (ø)

... and 976 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.

@kliegeois
kliegeois merged commit 4a72dbd into ROCm:develop Jan 9, 2026
23 checks passed
yassinsolim added a commit that referenced this pull request Jul 20, 2026
The preceding commit gates ConvAsmImplicitGemmGTCDynamicFwdXdlopsNHWC
not-applicable when any tensor's element count exceeds INT_MAX. The
shipped find-dbs still list that solver for such shapes -- it had been
recorded there (in some entries as the fastest kernel) even though its
32-bit element indexing computes those shapes incorrectly.

The db_sync FDB consistency test asserts every solver listed in a
find-db entry is still IsApplicable(), so the now-gated entries fail
Dbsync on gfx908/gfx90a/gfx942/gfx950. Prune the solver from exactly
the find-db entries whose input or output element count exceeds
INT_MAX, mirroring the gate and the MIOPEN_DBSYNC_CLEAN removal path
(cf. #3725, "Clean db files to pass db_sync"). Entries at or below
INT_MAX are left untouched; lines where it was the only listed solver
are dropped.

  gfx90878.HIP.fdb.txt   :  43
  gfx90a68.HIP.fdb.txt   : 102
  gfx90a6e.HIP.fdb.txt   : 102
  gfx942130.HIP.fdb.txt  : 268
  gfx942e4.HIP.fdb.txt   : 206
  gfx950100.HIP.fdb.txt  : 309

Related to ROCM-27526.
yassinsolim added a commit that referenced this pull request Aug 20, 2026
The preceding commit gates ConvAsmImplicitGemmGTCDynamicFwdXdlopsNHWC
not-applicable when any tensor's element count exceeds INT_MAX. The
shipped find-dbs still list that solver for such shapes -- it had been
recorded there (in some entries as the fastest kernel) even though its
32-bit element indexing computes those shapes incorrectly.

The db_sync FDB consistency test asserts every solver listed in a
find-db entry is still IsApplicable(), so the now-gated entries fail
Dbsync on gfx908/gfx90a/gfx942/gfx950. Prune the solver from exactly
the find-db entries whose input or output element count exceeds
INT_MAX, mirroring the gate and the MIOPEN_DBSYNC_CLEAN removal path
(cf. #3725, "Clean db files to pass db_sync"). Entries at or below
INT_MAX are left untouched; lines where it was the only listed solver
are dropped.

  gfx90878.HIP.fdb.txt   :  43
  gfx90a68.HIP.fdb.txt   : 102
  gfx90a6e.HIP.fdb.txt   : 102
  gfx942130.HIP.fdb.txt  : 268
  gfx942e4.HIP.fdb.txt   : 206
  gfx950100.HIP.fdb.txt  : 309

Related to ROCM-27526.
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.

4 participants