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

Kokkos reduction identity specialization for custom reduction types. More...

#include <ParallelReduceTools.h>

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

Static Public Member Functions

static KOKKOS_FORCEINLINE_FUNCTION ParticleBinning::ArrayReduction< SizeType, IndexType, N > sum ()

Detailed Description

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

Kokkos reduction identity specialization for custom reduction types.

These specializations of Kokkos::reduction_identity are required to enable the use of custom ArrayReduction types with Kokkos built-in reducers. The reduction identity function provides the neutral element for the reduction operation, which serves as the initial value for thread-private reduction variables.

Note
The GPU version (ArrayReduction) uses compile-time fixed arrays, while the host version (HostArrayReduction) uses dynamically allocated arrays for flexibility with runtime-determined sizes.

Definition at line 348 of file ParallelReduceTools.h.

Member Function Documentation

◆ sum()

template<typename SizeType, typename IndexType, IndexType N>
KOKKOS_FORCEINLINE_FUNCTION ParticleBinning::ArrayReduction< SizeType, IndexType, N > Kokkos::reduction_identity< ParticleBinning::ArrayReduction< SizeType, IndexType, N > >::sum ( )
inlinestatic

Definition at line 349 of file ParallelReduceTools.h.


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