-
Notifications
You must be signed in to change notification settings - Fork 153
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add
atomic_ref
support for 8 and 16b types. (#2255)
* Support fetch_add and CAS on 8/16b * Add 16b test * Fix issues found when enabling 8/16b in a heterogeneous test, PTX seems to be invalid though * Remove 16b cas and use only 32b cas. * Get several tests passing for 8/16b atomics * Remove todo and ifdefs from tests covering 8b/16b atomics * Fix bug in 16b atomic load * Move store close to fetch_update since it is a derived primitive * Fix bug in minmax due to s64 overload missing for arithmetic types * Add more 8/16b tests for atomic_ref * Fixup remove debug prints * Cleanup bitmask hell, fix bug where lower mask was ignored * Add test covering interleaved CAS onto same atomic window * Fixup documentation mistake. * Make atomics enable_if uses match rest of libcudacxx. * Verify fetch_add sequential load behavior in 8b/16b atomics * Remove 8b/16b add PTX tests * Optimize fetch_update CAS loops * Fix name of preset for PTX codegen test * Fix signed/unsigned comparison * Fix atomics codegen tests not being built * Fix CMake target for libcudacxx ptx tests. * Make dump_and_check executable again * Work around inconsistent parsing of [[[ in FileCheck versions * Make min/max match algorith.min/max. * Work around NVCC 11.X using different syntax for inline ptx * Fix warnings in the codegen tests. * Use PTX 16b ld/st instead of 32b CAS * Switch 8b ld/st to 16b ld * Make atomic min/max match std::min/max behavior * Atomic codegen tests: clang-cuda reorders some arguments, include them in the DAG to fix CI failures
- Loading branch information
Showing
22 changed files
with
540 additions
and
559 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.