1 #ifndef HeterogeneousCore_CUDAUtilities_interface_cudaCompat_h 2 #define HeterogeneousCore_CUDAUtilities_interface_cudaCompat_h 15 #include <cuda_runtime.h> 19 #define __global__ inline __attribute__((always_inline)) 21 #undef __forceinline__ 22 #define __forceinline__ inline __attribute__((always_inline)) 25 namespace cudacompat {
35 template <
typename T1,
typename T2>
42 template <
typename T1,
typename T2>
47 template <
typename T1,
typename T2>
55 template <
typename T1,
typename T2>
60 template <
typename T1,
typename T2>
67 template <
typename T1,
typename T2>
72 template <
typename T1,
typename T2>
79 template <
typename T1,
typename T2>
84 template <
typename T1,
typename T2>
91 template <
typename T1,
typename T2>
96 template <
typename T1,
typename T2>
103 template <
typename T1,
typename T2>
108 template <
typename T1,
typename T2>
115 template <
typename T1,
typename T2>
120 template <
typename T1,
typename T2>
127 template <
typename T1,
typename T2>
136 template <
typename T>
149 #endif // HeterogeneousCore_CUDAUtilities_interface_cudaCompat_h
T1 atomicMax(T1 *a, T2 b)
bool __syncthreads_or(bool x)
T1 atomicCAS(T1 *address, T1 compare, T2 val)
T1 atomicSub(T1 *a, T2 b)
ret
prodAgent to be discontinued
T1 atomicSub_block(T1 *a, T2 b)
T1 atomicOr_block(T1 *a, T2 b)
T1 atomicAnd_block(T1 *a, T2 b)
T1 atomicAnd(T1 *a, T2 b)
T1 atomicInc(T1 *a, T2 b)
T1 atomicCAS_block(T1 *address, T1 compare, T2 val)
Namespace of DDCMS conversion namespace.
T1 atomicMin_block(T1 *a, T2 b)
T1 atomicInc_block(T1 *a, T2 b)
T1 atomicAdd_block(T1 *a, T2 b)
bool __syncthreads_and(bool x)
T1 atomicMin(T1 *a, T2 b)
T1 atomicAdd(T1 *a, T2 b)
T1 atomicMax_block(T1 *a, T2 b)