13 #if defined(ALPAKA_ACC_GPU_CUDA_ENABLED) || defined(ALPAKA_ACC_GPU_HIP_ENABLED)
22 # if !defined(ALPAKA_HOST_ONLY)
24 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED) && !BOOST_LANG_CUDA
25 # error If ALPAKA_ACC_GPU_CUDA_ENABLED is set, the compiler has to support CUDA!
28 # if defined(ALPAKA_ACC_GPU_HIP_ENABLED) && !BOOST_LANG_HIP
29 # error If ALPAKA_ACC_GPU_HIP_ENABLED is set, the compiler has to support HIP!
47 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED)
53 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED)
54 return __activemask();
65 __device__
static auto all(
67 std::int32_t predicate) -> std::int32_t
69 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED)
70 return __all_sync(0xffff'ffff, predicate);
72 return __all(predicate);
80 __device__
static auto any(
82 std::int32_t predicate) -> std::int32_t
84 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED)
85 return __any_sync(0xffff'ffff, predicate);
87 return __any(predicate);
97 std::int32_t predicate)
99 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED)
105 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED)
106 return __ballot_sync(0xffff'ffff, predicate);
108 return __ballot(predicate);
121 std::int32_t width) -> T
123 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED)
124 return __shfl_sync(0xffff'ffff, val, srcLane, width);
126 return __shfl(val, srcLane, width);
139 std::int32_t width) -> T
141 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED)
142 return __shfl_up_sync(0xffff'ffff, val,
offset, width);
144 return __shfl_up(val,
offset, width);
157 std::int32_t width) -> T
159 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED)
160 return __shfl_down_sync(0xffff'ffff, val,
offset, width);
162 return __shfl_down(val,
offset, width);
175 std::int32_t width) -> T
177 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED)
178 return __shfl_xor_sync(0xffff'ffff, val, mask, width);
180 return __shfl_xor(val, mask, width);
constexpr std::uint32_t warpSize
This is a shortcut for the trait defined above.
Tag used in class inheritance hierarchies that describes that a specific interface (TInterface) is im...
The ballot warp vote trait.
The shfl down warp swizzling trait.
The shfl up warp swizzling trait.
The shfl xor warp swizzling trait.
The shfl warp swizzling trait.