Slice a single particle property from an AoSoA. More...
#include <Cabana_Types.hpp>
#include <Cabana_Utils.hpp>
#include <impl/Cabana_Index.hpp>
#include <impl/Cabana_TypeTraits.hpp>
#include <Kokkos_Core.hpp>
#include <cstdlib>
#include <string>
#include <type_traits>
Go to the source code of this file.
Classes | |
struct | Kokkos::LayoutCabanaSlice< SOASTRIDE, VLEN, DIM0, DIM1, DIM2, DIM3, DIM4, DIM5 > |
Cabana Slice layout. More... | |
class | Cabana::Slice< DataType, MemorySpace, MemoryAccessType, VectorLength, Stride > |
A slice of an array-of-structs-of-arrays with data access to a single multidimensional member. More... | |
struct | Cabana::is_slice< T > |
Slice static type checker. More... | |
Namespaces | |
namespace | Cabana |
Core: particle data structures and algorithms. | |
Functions | |
template<class ExecutionSpace, class ViewType, class SliceType> | |
void | Cabana::copySliceToView (ExecutionSpace exec_space, ViewType &view, const SliceType &slice, const std::size_t begin, const std::size_t end, typename std::enable_if< 2==SliceType::kokkos_view::traits::dimension::rank, int * >::type=0) |
Copy from slice to View. Rank-0. | |
template<class ExecutionSpace, class ViewType, class SliceType> | |
void | Cabana::copySliceToView (ExecutionSpace exec_space, ViewType &view, const SliceType &slice, const std::size_t begin, const std::size_t end, typename std::enable_if< 3==SliceType::kokkos_view::traits::dimension::rank, int * >::type=0) |
Copy from slice to View. Rank-1. | |
template<class ExecutionSpace, class ViewType, class SliceType> | |
void | Cabana::copySliceToView (ExecutionSpace exec_space, ViewType &view, const SliceType &slice, const std::size_t begin, const std::size_t end, typename std::enable_if< 4==SliceType::kokkos_view::traits::dimension::rank, int * >::type=0) |
Copy from slice to View. Rank-2. | |
template<class ViewType, class SliceType> | |
void | Cabana::copySliceToView (ViewType &view, const SliceType &slice, const std::size_t begin, const std::size_t end) |
Copy from slice to View with default execution space. | |
template<class ExecutionSpace, class SliceType, class ViewType> | |
void | Cabana::copyViewToSlice (ExecutionSpace exec_space, SliceType &slice, const ViewType &view, const std::size_t begin, const std::size_t end, typename std::enable_if< 2==SliceType::kokkos_view::traits::dimension::rank, int * >::type=0) |
Copy from View to slice. Rank-0. | |
template<class ExecutionSpace, class SliceType, class ViewType> | |
void | Cabana::copyViewToSlice (ExecutionSpace exec_space, SliceType &slice, const ViewType &view, const std::size_t begin, const std::size_t end, typename std::enable_if< 3==SliceType::kokkos_view::traits::dimension::rank, int * >::type=0) |
Copy from View to slice. Rank-1. | |
template<class ExecutionSpace, class SliceType, class ViewType> | |
void | Cabana::copyViewToSlice (ExecutionSpace exec_space, SliceType &slice, const ViewType &view, const std::size_t begin, const std::size_t end, typename std::enable_if< 4==SliceType::kokkos_view::traits::dimension::rank, int * >::type=0) |
Copy from View to slice. Rank-2. | |
template<class ViewType, class SliceType> | |
void | Cabana::copyViewToSlice (SliceType &slice, const ViewType &view, const std::size_t begin, const std::size_t end) |
Copy from View to slice with default execution space. | |
template<class SliceType> | |
void | Cabana::checkSize (SliceType slice, const std::size_t size, typename std::enable_if< is_slice< SliceType >::value, int >::type *=0) |
Check slice size (differs from Kokkos View). | |
template<class ViewType> | |
void | Cabana::checkSize (ViewType view, const std::size_t size, typename std::enable_if< Kokkos::is_view< ViewType >::value, int >::type *=0) |
Check View size (differs from Slice). | |
template<class SliceType> | |
auto | Cabana::size (SliceType slice, typename std::enable_if< is_slice< SliceType >::value, int >::type *=0) |
Check slice size (differs from Kokkos View). | |
template<class ViewType> | |
auto | Cabana::size (ViewType view, typename std::enable_if< Kokkos::is_view< ViewType >::value, int >::type *=0) |
Check View size (differs from Slice). | |
Slice a single particle property from an AoSoA.