|
RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
|
RAJA header file defining a multi-dimensional view class. More...
#include <array>#include <type_traits>#include "RAJA/config.hpp"#include "RAJA/pattern/atomic.hpp"#include "RAJA/util/IndexLayout.hpp"#include "RAJA/util/Layout.hpp"#include "RAJA/util/OffsetLayout.hpp"#include "RAJA/util/TypedViewBase.hpp"Go to the source code of this file.
Namespaces | |
| RAJA | |
| RAJA::detail | |
Typedefs | |
| template<typename ValueType , typename LayoutType , typename PointerType = ValueType*> | |
| using | RAJA::View = internal::ViewBase< ValueType, PointerType, LayoutType > |
| template<typename ValueType , typename LayoutType , typename... IndexTypes> | |
| using | RAJA::TypedView = internal::TypedViewBase< ValueType, ValueType *, LayoutType, camp::list< IndexTypes... > > |
| template<typename Seq1 , typename Seq2 > | |
| using | RAJA::cat_seq_t = typename cat_seq< Seq1, Seq2 >::type |
| template<camp::idx_t Offset, typename Seq > | |
| using | RAJA::offset_seq_t = typename offset_seq< Offset, Seq >::type |
Functions | |
| template<typename IndexType , typename ValueType > | |
| RAJA_HOST_DEVICE constexpr RAJA_INLINE View< ValueType, Layout< 1, IndexType, 0 > > | RAJA::make_view (ValueType *ptr) |
| template<size_t n_dims, typename IndexType , typename ValueType , typename... IndexTypes> | |
| RAJA_HOST_DEVICE constexpr RAJA_INLINE View< ValueType, IndexLayout< n_dims, IndexType, IndexTypes... > > | RAJA::make_index_view (ValueType *ptr, IndexLayout< n_dims, IndexType, IndexTypes... > index_layout) |
| template<typename Lay , typename Tup , camp::idx_t... Idxs> | |
| RAJA_HOST_DEVICE constexpr RAJA_INLINE auto | RAJA::selecttuple (Lay lyout, Tup &&tup, camp::idx_seq< Idxs... >) -> decltype(lyout(camp::get< Idxs >(std::forward< Tup >(tup))...)) |
| template<typename Lay , RAJA::Index_type Nth = 0, typename Tup > | |
| RAJA_HOST_DEVICE constexpr RAJA_INLINE auto | RAJA::removenth (Lay lyout, Tup &&tup) -> decltype(selecttuple< Lay >(lyout, std::forward< Tup >(tup), cat_seq_t< camp::make_idx_seq_t< Nth >, offset_seq_t< Nth+1, camp::make_idx_seq_t< camp::tuple_size< Tup >::value - Nth - 1 >> > {})) |
| template<typename AtomicPolicy , typename ViewType > | |
| RAJA_HOST_DEVICE constexpr RAJA_INLINE AtomicViewWrapper< ViewType, AtomicPolicy > | RAJA::make_atomic_view (ViewType const &view) |
| template<typename T > | |
| RAJA_HOST_DEVICE constexpr RAJA_INLINE auto | RAJA::detail::get_last_index (T last) |
| template<typename T0 , typename T1 , typename... Args> | |
| RAJA_HOST_DEVICE constexpr RAJA_INLINE auto | RAJA::detail::get_last_index (T0, T1 t1, Args... args) |
| template<std::size_t... idx> | |
| RAJA_HOST_DEVICE constexpr RAJA_INLINE auto | RAJA::detail::make_reverse_array (std::index_sequence< idx... >) |
| template<typename meta_layout , typename IndexType = RAJA::Index_type, typename T , typename... Extents> | |
| RAJA_HOST_DEVICE constexpr RAJA_INLINE auto | RAJA::make_permuted_view (T *ptr, Extents &&... extents) |
RAJA header file defining a multi-dimensional view class.