20 #ifndef RAJA_policy_sycl_kernel_Conditional_HPP
21 #define RAJA_policy_sycl_kernel_Conditional_HPP
23 #include "RAJA/config.hpp"
26 #include <type_traits>
41 template<
typename Data,
43 typename... EnclosedStmts,
45 struct SyclStatementExecutor<Data,
46 statement::If<Conditional, EnclosedStmts...>,
54 ::sycl::nd_item<3> item,
57 if (Conditional::eval(data))
61 enclosed_stmts_t::exec(data, item, thread_active);
67 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 SYCL.
static RAJA_DEVICE void exec(Data &data, ::sycl::nd_item< 3 > item, bool thread_active)
Definition: Conditional.hpp:53
StatementList< EnclosedStmts... > stmt_list_t
Definition: Conditional.hpp:50
static LaunchDims calculateDimensions(Data const &data)
Definition: Conditional.hpp:65
SyclStatementListExecutor< Data, stmt_list_t, Types > enclosed_stmts_t
Definition: Conditional.hpp:51
Header file for RAJA type definitions.