RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Public Types | Public Member Functions | List of all members
RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData > Struct Template Reference

#include <multi_reduce.hpp>

Public Types

using MultiReduceData = t_MultiReduceData
 
using MultiReduceOp = typename t_MultiReduceData::MultiReduceOp
 
using value_type = typename t_MultiReduceData::value_type
 

Public Member Functions

 BaseMultiReduce ()
 
 BaseMultiReduce (size_t num_bins, value_type init_val=MultiReduceOp::identity(), value_type identity=MultiReduceOp::identity())
 
template<typename Container , concepts::enable_if_t< type_traits::is_range< Container >, concepts::negate< std::is_convertible< Container, size_t >>, concepts::negate< std::is_base_of< BaseMultiReduce, Container >>> * = nullptr>
 BaseMultiReduce (Container const &container, value_type identity=MultiReduceOp::identity())
 
RAJA_SUPPRESS_HD_WARN BaseMultiReduce (BaseMultiReduce const &)=default
 
RAJA_SUPPRESS_HD_WARN BaseMultiReduce (BaseMultiReduce &&)=default
 
BaseMultiReduceoperator= (BaseMultiReduce const &)=delete
 
BaseMultiReduceoperator= (BaseMultiReduce &&)=delete
 
RAJA_SUPPRESS_HD_WARN ~BaseMultiReduce ()=default
 
void reset ()
 
void reset (size_t num_bins, value_type init_val=MultiReduceOp::identity(), value_type identity=MultiReduceOp::identity())
 
template<typename Container , concepts::enable_if_t< type_traits::is_range< Container >> * = nullptr>
void reset (Container const &container, value_type identity=MultiReduceOp::identity())
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE size_t size () const
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE BaseMultiReduce const & combine (size_t bin, value_type const &other) const
 
value_type get (size_t bin) const
 Get the calculated reduced value for a bin. More...
 
template<typename Container , concepts::enable_if_t< type_traits::is_range< Container >> * = nullptr>
void get_all (Container &container) const
 Get the calculated reduced value for each bin and store it in container. More...
 

Member Typedef Documentation

◆ MultiReduceData

template<typename t_MultiReduceData >
using RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::MultiReduceData = t_MultiReduceData

◆ MultiReduceOp

template<typename t_MultiReduceData >
using RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::MultiReduceOp = typename t_MultiReduceData::MultiReduceOp

◆ value_type

template<typename t_MultiReduceData >
using RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::value_type = typename t_MultiReduceData::value_type

Constructor & Destructor Documentation

◆ BaseMultiReduce() [1/5]

template<typename t_MultiReduceData >
RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::BaseMultiReduce ( )
inline

◆ BaseMultiReduce() [2/5]

template<typename t_MultiReduceData >
RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::BaseMultiReduce ( size_t  num_bins,
value_type  init_val = MultiReduceOp::identity(),
value_type  identity = MultiReduceOp::identity() 
)
inlineexplicit

◆ BaseMultiReduce() [3/5]

template<typename t_MultiReduceData >
template<typename Container , concepts::enable_if_t< type_traits::is_range< Container >, concepts::negate< std::is_convertible< Container, size_t >>, concepts::negate< std::is_base_of< BaseMultiReduce, Container >>> * = nullptr>
RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::BaseMultiReduce ( Container const &  container,
value_type  identity = MultiReduceOp::identity() 
)
inlineexplicit

◆ BaseMultiReduce() [4/5]

template<typename t_MultiReduceData >
RAJA_SUPPRESS_HD_WARN RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::BaseMultiReduce ( BaseMultiReduce< t_MultiReduceData > const &  )
default

◆ BaseMultiReduce() [5/5]

template<typename t_MultiReduceData >
RAJA_SUPPRESS_HD_WARN RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::BaseMultiReduce ( BaseMultiReduce< t_MultiReduceData > &&  )
default

◆ ~BaseMultiReduce()

template<typename t_MultiReduceData >
RAJA_SUPPRESS_HD_WARN RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::~BaseMultiReduce ( )
default

Member Function Documentation

◆ operator=() [1/2]

template<typename t_MultiReduceData >
BaseMultiReduce& RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::operator= ( BaseMultiReduce< t_MultiReduceData > const &  )
delete

◆ operator=() [2/2]

template<typename t_MultiReduceData >
BaseMultiReduce& RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::operator= ( BaseMultiReduce< t_MultiReduceData > &&  )
delete

◆ reset() [1/3]

template<typename t_MultiReduceData >
void RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::reset ( )
inline

◆ reset() [2/3]

template<typename t_MultiReduceData >
void RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::reset ( size_t  num_bins,
value_type  init_val = MultiReduceOp::identity(),
value_type  identity = MultiReduceOp::identity() 
)
inline

◆ reset() [3/3]

template<typename t_MultiReduceData >
template<typename Container , concepts::enable_if_t< type_traits::is_range< Container >> * = nullptr>
void RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::reset ( Container const &  container,
value_type  identity = MultiReduceOp::identity() 
)
inline

◆ size()

template<typename t_MultiReduceData >
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE size_t RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::size ( ) const
inline

◆ combine()

template<typename t_MultiReduceData >
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE BaseMultiReduce const& RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::combine ( size_t  bin,
value_type const &  other 
) const
inline

◆ get()

template<typename t_MultiReduceData >
value_type RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::get ( size_t  bin) const
inline

Get the calculated reduced value for a bin.

◆ get_all()

template<typename t_MultiReduceData >
template<typename Container , concepts::enable_if_t< type_traits::is_range< Container >> * = nullptr>
void RAJA::reduce::detail::BaseMultiReduce< t_MultiReduceData >::get_all ( Container &  container) const
inline

Get the calculated reduced value for each bin and store it in container.


The documentation for this struct was generated from the following file: