10 #ifndef NEW_REDUCE_OMP_TARGET_REDUCE_HPP
11 #define NEW_REDUCE_OMP_TARGET_REDUCE_HPP
22 #if defined(RAJA_ENABLE_TARGET_OPENMP)
25 template<
typename EXEC_POL,
typename OP,
typename T,
typename VOp>
26 camp::concepts::enable_if<RAJA::type_traits::is_target_openmp_policy<EXEC_POL>>
27 param_init(EXEC_POL
const&, Reducer<OP, T, VOp>& red)
29 red.m_valop.val = OP::identity();
33 template<
typename EXEC_POL,
typename OP,
typename T,
typename VOp>
34 camp::concepts::enable_if<RAJA::type_traits::is_target_openmp_policy<EXEC_POL>>
36 Reducer<OP, T, VOp>& out,
37 const Reducer<OP, T, VOp>& in)
39 out.m_valop.val = OP {}(out.m_valop.val, in.m_valop.val);
43 template<
typename EXEC_POL,
typename OP,
typename T,
typename VOp>
44 camp::concepts::enable_if<RAJA::type_traits::is_target_openmp_policy<EXEC_POL>>
47 red.combineTarget(red.m_valop.val);
camp::concepts::enable_if< std::is_same< EXEC_POL, RAJA::seq_exec > > param_init(EXEC_POL const &, RAJA::detail::Name &)
Definition: kernel_name.hpp:24
camp::concepts::enable_if< concepts::negate< is_instance_of_Reducer< camp::decay< T > > >, concepts::negate< std::is_same< T, RAJA::detail::Name > > > param_combine(EXEC_POL const &, T &, const T &)
Definition: forall.hpp:97
camp::concepts::enable_if< std::is_same< EXEC_POL, RAJA::seq_exec > > param_resolve(EXEC_POL const &, RAJA::detail::Name &)
Definition: kernel_name.hpp:40
Definition: AlignedRangeIndexSetBuilders.cpp:35