Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
AMReX_ParReduce.H File Reference
#include <AMReX_Config.H>
#include <AMReX_Concepts.H>
#include <AMReX_Reduce.H>

Go to the source code of this file.

Namespaces

namespace  amrex

Functions

template<typename... Ops, typename... Ts, BaseFabType FAB, typename F>
ReduceData< Ts... >::Type amrex::ParReduce (TypeList< Ops... > operation_list, TypeList< Ts... > type_list, FabArray< FAB > const &fa, IntVect const &nghost, F &&f)
 Parallel reduce for MultiFab/FabArray. The reduce result is local and it's the user's responsibility if MPI communication is needed.
template<typename Op, typename T, BaseFabType FAB, typename F>
T amrex::ParReduce (TypeList< Op > operation_list, TypeList< T > type_list, FabArray< FAB > const &fa, IntVect const &nghost, F &&f)
 Parallel reduce for MultiFab/FabArray. The reduce result is local and it's the user's responsibility if MPI communication is needed.
template<typename... Ops, typename... Ts, BaseFabType FAB, typename F>
ReduceData< Ts... >::Type amrex::ParReduce (TypeList< Ops... > operation_list, TypeList< Ts... > type_list, FabArray< FAB > const &fa, IntVect const &nghost, int ncomp, F &&f)
 Parallel reduce for MultiFab/FabArray. The reduce result is local and it's the user's responsibility if MPI communication is needed.
template<typename Op, typename T, BaseFabType FAB, typename F>
T amrex::ParReduce (TypeList< Op > operation_list, TypeList< T > type_list, FabArray< FAB > const &fa, IntVect const &nghost, int ncomp, F &&f)
 Parallel reduce for MultiFab/FabArray. The reduce result is local and it's the user's responsibility if MPI communication is needed.
template<typename... Ops, typename... Ts, BaseFabType FAB, typename F>
ReduceData< Ts... >::Type amrex::ParReduce (TypeList< Ops... > operation_list, TypeList< Ts... > type_list, FabArray< FAB > const &fa, F &&f)
 Parallel reduce for MultiFab/FabArray. The reduce result is local and it's the user's responsibility if MPI communication is needed.
template<typename Op, typename T, BaseFabType FAB, typename F>
T amrex::ParReduce (TypeList< Op > operation_list, TypeList< T > type_list, FabArray< FAB > const &fa, F &&f)
 Parallel reduce for MultiFab/FabArray. The reduce result is local and it's the user's responsibility if MPI communication is needed.
template<typename... Ops, typename... Ts, BaseFabType FAB, typename F>
Vector< typename ReduceData< Ts... >::Type > amrex::ParReducePerComp (TypeList< Ops... > operation_list, TypeList< Ts... > type_list, FabArray< FAB > const &fa, IntVect const &nghost, int ncomp, F &&f)
 Parallel reduce for MultiFab/FabArray with a separate result for each component. The reduce result is local and it's the user's responsibility if MPI communication is needed.
template<typename Op, typename T, BaseFabType FAB, typename F>
Vector< T > amrex::ParReducePerComp (TypeList< Op > operation_list, TypeList< T > type_list, FabArray< FAB > const &fa, IntVect const &nghost, int ncomp, F &&f)
 ParReducePerComp with a single reduce operator.
template<typename... Ops, typename... Ts, BaseFabType FAB, typename F>
Vector< typename ReduceData< Ts... >::Type > amrex::ParReducePerBoxComp (TypeList< Ops... > operation_list, TypeList< Ts... > type_list, FabArray< FAB > const &fa, IntVect const &nghost, int ncomp, F &&f)
 Parallel reduce for MultiFab/FabArray with a separate result for each local box and component. The reduce result is local.
template<typename Op, typename T, BaseFabType FAB, typename F>
Vector< T > amrex::ParReducePerBoxComp (TypeList< Op > operation_list, TypeList< T > type_list, FabArray< FAB > const &fa, IntVect const &nghost, int ncomp, F &&f)
 ParReducePerBoxComp with a single reduce operator.