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)
KOKKOS_INLINE_FUNCTION Scalar shfl_down(const Scalar &val, const int &delta, const int &width, const int &mask)
KOKKOS_INLINE_FUNCTION Scalar shfl_up(const Scalar &val, const int &delta, const int &width, const int &mask)
Top-level namespace for Stokhos classes and functions.