20 #ifndef RAJA_pattern_tensor_ET_BlockLiteral_HPP
21 #define RAJA_pattern_tensor_ET_BlockLiteral_HPP
23 #include "RAJA/config.hpp"
48 template<
typename STORAGE_TYPE,
typename TENSOR_TYPE>
57 using ref_type =
typename STORAGE_TYPE::ref_type;
61 static constexpr camp::idx_t
s_num_dims = result_type::s_num_dims;
74 return storage_type::s_dim_elem(dim);
82 m_tile_origin(tile_origin)
85 template<
typename TILE_TYPE>
RAJA header file defining SIMD/SIMT register operations.
RAJA header file defining SIMD/SIMT register operations.
Definition: BlockLiteral.hpp:51
RAJA_INLINE RAJA_HOST_DEVICE void print_ast() const
Definition: BlockLiteral.hpp:112
TENSOR_TYPE tensor_type
Definition: BlockLiteral.hpp:55
static constexpr camp::idx_t s_num_dims
Definition: BlockLiteral.hpp:61
RAJA_INLINE constexpr RAJA_HOST_DEVICE index_type getDimSize(index_type dim) const
Definition: BlockLiteral.hpp:72
camp::idx_t index_type
Definition: BlockLiteral.hpp:59
typename STORAGE_TYPE::ref_type ref_type
Definition: BlockLiteral.hpp:57
typename ref_type::tile_type tile_type
Definition: BlockLiteral.hpp:58
RAJA_INLINE RAJA_HOST_DEVICE result_type eval(TILE_TYPE const &tile) const
Definition: BlockLiteral.hpp:86
RAJA_INLINE RAJA_HOST_DEVICE ref_type get_ref()
Definition: BlockLiteral.hpp:102
STORAGE_TYPE storage_type
Definition: BlockLiteral.hpp:54
TENSOR_TYPE result_type
Definition: BlockLiteral.hpp:56
RAJA_INLINE constexpr RAJA_HOST_DEVICE BlockLiteral(tile_type tile_origin)
Definition: BlockLiteral.hpp:80
Definition: ExpressionTemplateBase.hpp:72
Header file for common RAJA internal macro definitions.
#define RAJA_HOST_DEVICE
Definition: macros.hpp:65
RAJA_INLINE constexpr RAJA_HOST_DEVICE auto 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
Definition: TensorRef.hpp:700
RAJA_INLINE constexpr RAJA_HOST_DEVICE auto 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
Definition: TensorRef.hpp:682
Definition: AlignedRangeIndexSetBuilders.cpp:35
RAJA_HOST_DEVICE RAJA_INLINE void tile(CONTEXT const &ctx, TILE_T tile_size, SEGMENT const &segment, BODY const &body)
Definition: launch_core.hpp:589