| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 700 |
| # error "CUDA synchronization primitives are only supported for sm_70 and up." |
| #endif |
|
|
| #ifndef _CUDA_LATCH |
| #define _CUDA_LATCH |
|
|
| #include "atomic" |
|
|
| #include "detail/__config" |
|
|
| #include "detail/__pragma_push" |
|
|
| #include "detail/libcxx/include/latch" |
|
|
| _LIBCUDACXX_BEGIN_NAMESPACE_CUDA |
|
|
| template<thread_scope _Sco> |
| class latch : public std::__latch_base<_Sco> { |
| public: |
| _LIBCUDACXX_INLINE_VISIBILITY _LIBCUDACXX_CONSTEXPR |
| latch(std::ptrdiff_t __count) |
| : std::__latch_base<_Sco>(__count) { |
| } |
| }; |
|
|
| _LIBCUDACXX_END_NAMESPACE_CUDA |
|
|
| #include "detail/__pragma_pop" |
|
|
| #endif |
|
|