20 #ifndef RAJA_policy_cuda_kernel_Conditional_HPP
21 #define RAJA_policy_cuda_kernel_Conditional_HPP
23 #include "RAJA/config.hpp"
26 #include <type_traits>
41 template<
typename Data,
43 typename... EnclosedStmts,
45 struct CudaStatementExecutor<Data,
46 statement::If<Conditional, EnclosedStmts...>,
55 if (Conditional::eval(data))
59 enclosed_stmts_t::exec(data, thread_active);
65 return enclosed_stmts_t::calculateDimensions(data);
Header file for common RAJA internal macro definitions.
#define RAJA_DEVICE
Definition: macros.hpp:66
camp::list< Stmts... > StatementList
Definition: StatementList.hpp:41
Definition: AlignedRangeIndexSetBuilders.cpp:35
Header file for kernel conditional templates.
RAJA header file containing constructs used to run kernel traversals on GPU with CUDA.
static RAJA_DEVICE void exec(Data &data, bool thread_active)
Definition: Conditional.hpp:53
CudaStatementListExecutor< Data, stmt_list_t, Types > enclosed_stmts_t
Definition: Conditional.hpp:51
static LaunchDims calculateDimensions(Data const &data)
Definition: Conditional.hpp:63
StatementList< EnclosedStmts... > stmt_list_t
Definition: Conditional.hpp:50
Header file for RAJA type definitions.