RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Classes | Namespaces | Enumerations | Functions
TensorRef.hpp File Reference

RAJA header file defining SIMD/SIMT register operations. More...

#include "RAJA/config.hpp"
#include "RAJA/util/macros.hpp"

Go to the source code of this file.

Classes

struct  RAJA::internal::expt::StaticIndexArray< camp::int_seq< INDEX_TYPE, HEAD, TAIL... > >
 
struct  RAJA::internal::expt::StaticIndexArray< camp::int_seq< INDEX_TYPE > >
 
struct  RAJA::internal::expt::PrependStaticIndexArray< INDEX_TYPE, NEW_HEAD, StaticIndexArray< camp::int_seq< INDEX_TYPE, ORIG_INTS... > > >
 
struct  RAJA::internal::expt::AddStaticIndexArray< INDEX_TYPE, IDX, DELTA, StaticIndexArray< camp::int_seq< INDEX_TYPE, HEAD, TAIL... > > >
 
struct  RAJA::internal::expt::AddStaticIndexArray< INDEX_TYPE, 0, DELTA, StaticIndexArray< camp::int_seq< INDEX_TYPE, HEAD, TAIL... > > >
 
struct  RAJA::internal::expt::SetStaticIndexArray< INDEX_TYPE, IDX, VALUE, StaticIndexArray< camp::int_seq< INDEX_TYPE, HEAD, TAIL... > > >
 
struct  RAJA::internal::expt::SetStaticIndexArray< INDEX_TYPE, 0, VALUE, StaticIndexArray< camp::int_seq< INDEX_TYPE, HEAD, TAIL... > > >
 
struct  RAJA::internal::expt::TensorTile< INDEX_TYPE, TENSOR_SIZE, NUM_DIMS >
 
struct  RAJA::internal::expt::StaticTensorTile< INDEX_TYPE, TENSOR_SIZE, camp::int_seq< INDEX_TYPE, BeginInts... >, camp::int_seq< INDEX_TYPE, SizeInts... > >
 
struct  RAJA::internal::expt::SetStaticTensorTileBegin< StaticTensorTile< INDEX_TYPE, TENSOR_SIZE, TBEGIN, TSIZE >, camp::integral_constant< INDEX_TYPE, VALUE >, IDX >
 
struct  RAJA::internal::expt::SetStaticTensorTileSize< StaticTensorTile< INDEX_TYPE, TENSOR_SIZE, TBEGIN, TSIZE >, camp::integral_constant< INDEX_TYPE, VALUE >, IDX >
 
struct  RAJA::internal::expt::TensorRef< POINTER_TYPE, INDEX_TYPE, TENSOR_SIZE, NUM_DIMS, STRIDE_ONE_DIM >
 
struct  RAJA::internal::expt::StaticTensorRef< POINTER_TYPE, INDEX_TYPE, TENSOR_SIZE, camp::int_seq< INDEX_TYPE, StrideInts... >, camp::int_seq< INDEX_TYPE, BeginInts... >, camp::int_seq< INDEX_TYPE, SizeInts... >, STRIDE_ONE_DIM >
 
struct  RAJA::internal::expt::MergeRefTile< REF_TYPE, TILE_TYPE, camp::idx_seq< DIM_SEQ... > >
 
struct  RAJA::internal::expt::MergeRefTile< StaticTensorRef< POINTER_TYPE, INDEX_TYPE1, RTENSOR_SIZE, STRIDE, camp::int_seq< INDEX_TYPE1, BEGIN1... >, camp::int_seq< INDEX_TYPE1, SIZE1... >, STRIDE_ONE_DIM >, StaticTensorTile< INDEX_TYPE2, TENSOR_SIZE, BEGIN2, SIZE2 >, camp::idx_seq< DIM_SEQ... > >
 

Namespaces

 RAJA
 
 RAJA::internal
 
 RAJA::internal::expt
 

Enumerations

enum  RAJA::internal::expt::TensorTileSize { RAJA::internal::expt::TENSOR_PARTIAL , RAJA::internal::expt::TENSOR_FULL , RAJA::internal::expt::TENSOR_MULTIPLE }
 

Functions

template<typename REF_TYPE , typename TILE_TYPE >
RAJA_INLINE constexpr RAJA_HOST_DEVICE auto RAJA::internal::expt::merge_ref_tile (REF_TYPE const &ref, TILE_TYPE const &tile) -> typename MergeRefTile< REF_TYPE, TILE_TYPE, camp::make_idx_seq_t< TILE_TYPE::s_num_dims >>::merge_type
 
template<typename REF_TYPE , typename TILE_TYPE >
RAJA_INLINE constexpr RAJA_HOST_DEVICE auto RAJA::internal::expt::shift_tile_origin (REF_TYPE const &ref, TILE_TYPE const &tile_origin) -> typename MergeRefTile< REF_TYPE, TILE_TYPE, camp::make_idx_seq_t< TILE_TYPE::s_num_dims >>::shift_type
 
template<typename INDEX_TYPE , TensorTileSize RTENSOR_SIZE, camp::idx_t NUM_DIMS>
RAJA_INLINE constexpr RAJA_HOST_DEVICE TensorTile< INDEX_TYPE, TENSOR_FULL, NUM_DIMS > & RAJA::internal::expt::make_tensor_tile_full (TensorTile< INDEX_TYPE, RTENSOR_SIZE, NUM_DIMS > &tile)
 
template<typename INDEX_TYPE , TensorTileSize RTENSOR_SIZE, camp::idx_t NUM_DIMS>
RAJA_INLINE constexpr RAJA_HOST_DEVICE TensorTile< INDEX_TYPE, TENSOR_PARTIAL, NUM_DIMS > & RAJA::internal::expt::make_tensor_tile_partial (TensorTile< INDEX_TYPE, RTENSOR_SIZE, NUM_DIMS > &tile)
 
template<typename INDEX_TYPE , TensorTileSize RTENSOR_SIZE, typename TBEGIN , typename TSIZE >
RAJA_INLINE constexpr RAJA_HOST_DEVICE StaticTensorTile< INDEX_TYPE, TENSOR_FULL, TBEGIN, TSIZE > & RAJA::internal::expt::make_tensor_tile_full (StaticTensorTile< INDEX_TYPE, RTENSOR_SIZE, TBEGIN, TSIZE > &tile)
 
template<typename INDEX_TYPE , TensorTileSize RTENSOR_SIZE, typename TBEGIN , typename TSIZE >
RAJA_INLINE constexpr RAJA_HOST_DEVICE StaticTensorTile< INDEX_TYPE, TENSOR_PARTIAL, TBEGIN, TSIZE > & RAJA::internal::expt::make_tensor_tile_partial (StaticTensorTile< INDEX_TYPE, RTENSOR_SIZE, TBEGIN, TSIZE > &tile)
 

Detailed Description

RAJA header file defining SIMD/SIMT register operations.