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

Header file for loop kernel internals: LoopData structure and related helper functions. More...

#include "RAJA/config.hpp"
#include "RAJA/index/IndexSet.hpp"
#include "RAJA/util/macros.hpp"
#include "RAJA/util/types.hpp"
#include "camp/camp.hpp"
#include "RAJA/pattern/detail/privatizer.hpp"
#include "RAJA/pattern/kernel/internal/StatementList.hpp"
#include "RAJA/pattern/kernel/internal/Template.hpp"
#include "RAJA/pattern/params/params_base.hpp"
#include <iterator>
#include <type_traits>

Go to the source code of this file.

Classes

struct  RAJA::internal::ForList
 
struct  RAJA::internal::ForBase
 
struct  RAJA::internal::CollapseBase
 
struct  RAJA::internal::ForTraitBase< ArgumentId, Policy >
 
struct  RAJA::internal::iterable_difftype_getter< Iterator >
 
struct  RAJA::internal::iterable_value_type_getter< Iterator >
 
struct  RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >
 
struct  RAJA::internal::GenericWrapper< Data, Types, EnclosedStmts >
 
struct  RAJA::internal::NestedPrivatizer< T >
 

Namespaces

 RAJA
 
 RAJA::internal
 

Typedefs

template<typename Segments >
using RAJA::internal::difftype_list_from_segments = typename camp::transform< iterable_difftype_getter, Segments >::type
 
template<typename Segments >
using RAJA::internal::difftype_tuple_from_segments = typename camp::apply_l< camp::lambda< camp::tuple >, difftype_list_from_segments< Segments > >::type
 
template<typename Segments >
using RAJA::internal::value_type_list_from_segments = typename camp::transform< iterable_value_type_getter, Segments >::type
 
template<typename Segments >
using RAJA::internal::index_tuple_from_segments = typename camp::apply_l< camp::lambda< camp::tuple >, value_type_list_from_segments< Segments > >::type
 
template<typename Segments >
using RAJA::internal::index_types_from_segments = typename camp::apply_l< camp::lambda< camp::list >, value_type_list_from_segments< Segments > >::type
 
template<camp::idx_t ArgumentId, typename Data >
using RAJA::internal::segment_diff_type = typename std::iterator_traits< typename camp::at_v< typename Data::segment_tuple_t::TList, ArgumentId >::iterator >::difference_type
 

Functions

template<camp::idx_t ArgumentId, typename Data >
RAJA_INLINE RAJA_HOST_DEVICE auto RAJA::internal::segment_length (Data const &data) -> segment_diff_type< ArgumentId, Data >
 

Detailed Description

Header file for loop kernel internals: LoopData structure and related helper functions.