22 #ifndef RAJA_policy_cuda_kernel_Sync_HPP
23 #define RAJA_policy_cuda_kernel_Sync_HPP
25 #include "RAJA/config.hpp"
27 #if defined(RAJA_ENABLE_CUDA)
32 #include "camp/camp.hpp"
47 struct CudaSyncThreads :
public internal::Statement<camp::nil>
53 struct CudaSyncWarp :
public internal::Statement<camp::nil>
61 template<
typename Data,
typename Types>
62 struct CudaStatementExecutor<Data, statement::CudaSyncThreads, Types>
65 static inline RAJA_DEVICE void exec(Data&,
bool) { __syncthreads(); }
67 static inline LaunchDims calculateDimensions(
74 template<
typename Data,
typename Types>
75 struct CudaStatementExecutor<Data, statement::CudaSyncWarp, Types>
79 #if CUDART_VERSION >= 9000
92 static inline LaunchDims calculateDimensions(
Header file for common RAJA internal macro definitions.
#define RAJA_UNUSED_ARG(x)
Definition: macros.hpp:97
#define RAJA_DEVICE
Definition: macros.hpp:66
Definition: AlignedRangeIndexSetBuilders.cpp:35
RAJA header file containing user interface for RAJA::kernel.
Header file for RAJA type definitions.