42 #ifndef STOKHOS_CUDA_WARP_SHUFFLE_HPP
43 #define STOKHOS_CUDA_WARP_SHUFFLE_HPP
45 #include "Kokkos_Core.hpp"
48 # if (__CUDA_ARCH__ >= 300)
49 # define HAVE_CUDA_SHUFFLE 1
51 # define HAVE_CUDA_SHUFFLE 0
54 # define HAVE_CUDA_SHUFFLE 0
59 template<
typename Scalar>
60 KOKKOS_INLINE_FUNCTION
65 template<
typename Scalar>
66 KOKKOS_INLINE_FUNCTION
71 template<
typename Scalar>
72 KOKKOS_INLINE_FUNCTION
75 return KOKKOS_IMPL_CUDA_SHFL_DOWN_MASK(mask, val, delta, width);
78 template<
typename Scalar>
79 KOKKOS_INLINE_FUNCTION
82 return KOKKOS_IMPL_CUDA_SHFL_UP_MASK(mask, val, delta, width);
85 KOKKOS_INLINE_FUNCTION
87 KOKKOS_IMPL_CUDA_SYNCWARP_MASK(mask);
KOKKOS_INLINE_FUNCTION void sync_warp(const int &mask)
KOKKOS_INLINE_FUNCTION Scalar shfl_down(const Scalar &val, const int &delta, const int &width)
KOKKOS_INLINE_FUNCTION Scalar shfl_up(const Scalar &val, const int &delta, const int &width)