OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
ParticleBinning::ArrayReduction< SizeType, IndexType, N > Struct Template Reference

A templated structure for performing array-based reductions in parallel computations. More...

#include <ParallelReduceTools.h>

Collaboration diagram for ParticleBinning::ArrayReduction< SizeType, IndexType, N >:

Public Member Functions

KOKKOS_INLINE_FUNCTION ArrayReduction ()
KOKKOS_INLINE_FUNCTION ArrayReduction (const ArrayReduction &rhs)
KOKKOS_INLINE_FUNCTION ArrayReductionoperator= (const ArrayReduction &rhs)
KOKKOS_INLINE_FUNCTION ArrayReductionoperator+= (const ArrayReduction &src)

Public Attributes

SizeType the_array [N]

Detailed Description

template<typename SizeType, typename IndexType, IndexType N>
struct ParticleBinning::ArrayReduction< SizeType, IndexType, N >

A templated structure for performing array-based reductions in parallel computations.

Template Parameters
SizeTypeThe type used for the elements of the array.
IndexTypeThe type used for indexing the array.
NThe fixed size of the array.

This structure provides functionality to initialize, copy, assign, and perform element-wise addition on arrays of fixed size. It is designed to be used in parallel reduction operations with Kokkos.

Member Functions:

Definition at line 38 of file ParallelReduceTools.h.

Constructor & Destructor Documentation

◆ ArrayReduction() [1/2]

template<typename SizeType, typename IndexType, IndexType N>
KOKKOS_INLINE_FUNCTION ParticleBinning::ArrayReduction< SizeType, IndexType, N >::ArrayReduction ( )
inline

Definition at line 42 of file ParallelReduceTools.h.

References the_array.

Referenced by ArrayReduction(), operator+=(), and operator=().

Here is the caller graph for this function:

◆ ArrayReduction() [2/2]

template<typename SizeType, typename IndexType, IndexType N>
KOKKOS_INLINE_FUNCTION ParticleBinning::ArrayReduction< SizeType, IndexType, N >::ArrayReduction ( const ArrayReduction< SizeType, IndexType, N > & rhs)
inline

Definition at line 46 of file ParallelReduceTools.h.

References ArrayReduction(), and the_array.

Here is the call graph for this function:

Member Function Documentation

◆ operator+=()

template<typename SizeType, typename IndexType, IndexType N>
KOKKOS_INLINE_FUNCTION ArrayReduction & ParticleBinning::ArrayReduction< SizeType, IndexType, N >::operator+= ( const ArrayReduction< SizeType, IndexType, N > & src)
inline

Definition at line 57 of file ParallelReduceTools.h.

References ArrayReduction(), and the_array.

Here is the call graph for this function:

◆ operator=()

template<typename SizeType, typename IndexType, IndexType N>
KOKKOS_INLINE_FUNCTION ArrayReduction & ParticleBinning::ArrayReduction< SizeType, IndexType, N >::operator= ( const ArrayReduction< SizeType, IndexType, N > & rhs)
inline

Definition at line 50 of file ParallelReduceTools.h.

References ArrayReduction(), and the_array.

Here is the call graph for this function:

Member Data Documentation

◆ the_array

template<typename SizeType, typename IndexType, IndexType N>
SizeType ParticleBinning::ArrayReduction< SizeType, IndexType, N >::the_array[N]

Definition at line 39 of file ParallelReduceTools.h.

Referenced by ArrayReduction(), ArrayReduction(), operator+=(), and operator=().


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