28 #ifndef RAJA_forall_simd_HPP
29 #define RAJA_forall_simd_HPP
31 #include "RAJA/config.hpp"
34 #include <type_traits>
50 template<
typename Iterable,
typename Func,
typename ForallParam>
51 RAJA_INLINE concepts::enable_if_t<
52 resources::EventProxy<resources::Host>,
54 concepts::negate<expt::type_traits::is_ForallParamPack_empty<ForallParam>>>
66 for (decltype(distance_it) i = 0; i < distance_it; ++i)
73 return resources::EventProxy<resources::Host>(host_res);
76 template<
typename Iterable,
typename Func,
typename ForallParam>
77 RAJA_INLINE concepts::enable_if_t<
78 resources::EventProxy<resources::Host>,
90 for (decltype(distance_it) i = 0; i < distance_it; ++i)
92 body(*(begin_it + i));
95 return resources::EventProxy<resources::Host>(host_res);
value_type::device_call &[i_loop] iter
Definition: WorkRunner.hpp:216
constexpr RAJA_HOST_DEVICE auto invoke_body(Params &¶ms, Fn &&f, Ts &&... extra)
Definition: forall.hpp:598
RAJA_INLINE concepts::enable_if_t< resources::EventProxy< resources::Host >, expt::type_traits::is_ForallParamPack< ForallParam >, concepts::negate< expt::type_traits::is_ForallParamPack_empty< ForallParam > > > forall_impl(resources::Host host_res, const simd_exec &pol, Iterable &&iter, Func &&body, ForallParam f_params)
Definition: forall.hpp:55
Definition: AlignedRangeIndexSetBuilders.cpp:35
auto & body
Definition: launch.hpp:177
#define RAJA_EXTRACT_BED_IT(CONTAINER)
Definition: forall.hpp:32
Header file containing RAJA simd policy definitions.
static constexpr void parampack_resolve(EXEC_POL const &pol, ForallParamPack< Params... > &f_params, Args &&... args)
Definition: forall.hpp:304
static constexpr void parampack_init(EXEC_POL const &pol, ForallParamPack< Params... > &f_params, Args &&... args)
Definition: forall.hpp:269
Definition: TypeTraits.hpp:67
Definition: TypeTraits.hpp:59
Definition: policy.hpp:47
Header file for RAJA type definitions.