Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Delete <cuda/std/atomic> header * Move atomic from libcxx to top-level * Move PTX backends from libcxx to <cuda/std/__atomic/...> * Delete remaining atomics backends. Move MSVC backend * First pass at making atomic use new backends * Change atomic_storage operator()() to get() * Fixup: Change desired of compexch to accept by value. * This matches other implementations. * Fix merge conflicts (LIBCUDACXX->CCCL) * Fix another merge conflict (LIBCUDACXX->CCCL) * Simplify tag dispatch in the atomic backend * Make tests work when full path is specified to lit. * Update barrier, latch, and semaphore, to use new atomic_impl. * Make changes to atomic work. * Rearrange headers and update latch/barrier. * Update codegen to reflect new header layout. * Make platform.h define `LIBCUDACXX_ATOMIC_BLAH_LOCK_FREE`. * We previously defined or *clobbered* the existing STL definitions. * See: `ATOMIC_BOOL_LOCK_FREE`->`LIBCUDACXX_ATOMIC_BOOL_LOCK_FREE` * Fix missing <cstdint> in generated ptx file. * `__cuda_std__` mode does not require use of host atomics checks. * Fix missing `_If` in types.h. * Fix missing <cstdint> in derived PTX file. * Remove uneeded headers from base.h. * Fix type mixup in `__atomic_wait`. * Change heterogeneous tests to permutate over H/D launcher combinations. * However this is restricted to *one* device launch per suite to prevent deadlocks. * Tests are much slower, but extremely thorough. * Concurrent H/D coverage is particularly exemplified in latch.pass.cpp. * Change tests to use `validate_pinned` API. * Fix a couple issues with `__atomic_underlying_t` in __atomics/types * [pre-commit.ci] auto code formatting * Fix `<atomic>` header include guard. * Move thread_count trait around and remove unused sink. * Fix mistakes from merging clang-format changes. * [pre-commit.ci] auto code formatting * Add system header guards to every new `__atomic` header * Delete `<atomic>` header synopsis. * Fix push/pop macros in `<atomic>`. * `ATOMIC_VAR_INIT->LIBCUDACXX_ATOMIC_VAR_INIT` * This avoids conflicting with the host's definition. * Make `<cuda/atomic>` tests include the correct header. * Fix typing with volatile atomic types. * Include correct header for `cuda::atomic`. * Fix underlying_t in `notify_wait.h` * Revert using `volatile` in latch. * Make helpers more useful in tests. * Prevent non-CUDA compilers from seeing PTX. * Make the MSVC atomic header a little more friendly. * Make the derived PTX header only visible to CUDA compilers. * Remove the defaulted scope specifier on the atomic type layer. * Remove the defaulted scope specifier from the atomics API layer. * Fix missing cassert in several tests. * Revert mistaken `LIBCUDACXX_ATOMIC_FLAG_INIT` change. * Fix bad atomic alignment errors. * [pre-commit.ci] auto code formatting * Make internal owned memory atomic APIs have a default ctor. * Fully qualify the atomics APIs in the cuda/atomic header. * Add missing type_traits to host.h Co-authored-by: Michael Schellenberger Costa <[email protected]> * Use `_LIBCUDACXX_INLINE_VISIBILITY` for API functions. * Reorder derived PTX functions attribute declarations. * traits fixups in `__atomic/types` * Default ctors and sprinkle noexcept around on some `__atomic/types` APIs. * Apply suggestions to common.h. * Remove full namespace qualifier in atomic storage trait. * modernization fixes to order.h. * Move includes cuda/atomic.h and cuda/barrier.h. * Adjust header error block and add missing includes in `<cuda/std/atomic>` * Add missing system header block in cuda/atomic * Fix invalid use of typename. * `_LIBCUDACXX_TRAITS->_CCCL_TRAIT` * [pre-commit.ci] auto code formatting * Fix return type of host atomics. * Fix cassert missing from generated atomic header. * Fix visibility of host atomics in NVRTC build. * Add more tests to bad_atomic_alignment.pass.cpp * Fix alignment warnings in host compare_exchange layer. * [pre-commit.ci] auto code formatting --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Michael Schellenberger Costa <[email protected]>
- Loading branch information