Parallel frontend that abstracts functionalities needed to spawn processes and handle communication.
More...
|
| void | StartParallel (int *argc=nullptr, char ***argv=nullptr, MPI_Comm mpi_comm=MPI_COMM_WORLD) |
| | Perform any needed parallel initialization. This MUST be the first routine in this class called from within a program.
|
| |
| void | Gather (Real const *sendbuf, int nsend, Real *recvbuf, int root) |
| |
| void | EndParallel () |
| | Perform any needed parallel finalization. This MUST be the last routine in this class called from within a program.
|
| |
| void | Abort (int errorcode=SIGABRT, bool backtrace=true) |
| | Abort with specified error code.
|
| |
| const char * | ErrorString (int errorcode) |
| | ErrorString return string associated with error internal error condition.
|
| |
| void | Barrier (const std::string &message=Unnamed) |
| |
| void | Barrier (const MPI_Comm &comm, const std::string &message=Unnamed) |
| |
| Message | Abarrier () |
| |
| Message | Abarrier (const MPI_Comm &) |
| |
| void | Test (MPI_Request &, int &, MPI_Status &) |
| |
| void | Test (Vector< MPI_Request > &, int &, Vector< MPI_Status > &) |
| |
| void | IProbe (int, int, int &, MPI_Status &) |
| |
| void | IProbe (int, int, MPI_Comm, int &, MPI_Status &) |
| |
| void | Comm_dup (MPI_Comm, MPI_Comm &) |
| |
| void | ReduceRealSum (Vector< std::reference_wrapper< Real > > const &) |
| |
| void | ReduceRealMax (Vector< std::reference_wrapper< Real > > const &) |
| |
| void | ReduceRealMin (Vector< std::reference_wrapper< Real > > const &) |
| |
| void | ReduceRealSum (Vector< std::reference_wrapper< Real > > const &, int) |
| |
| void | ReduceRealMax (Vector< std::reference_wrapper< Real > > const &, int) |
| |
| void | ReduceRealMin (Vector< std::reference_wrapper< Real > > const &, int) |
| |
| void | ReduceLongAnd (Long &) |
| |
| void | ReduceLongSum (Long &) |
| |
| void | ReduceLongMax (Long &) |
| |
| void | ReduceLongMin (Long &) |
| |
| void | ReduceLongAnd (Long &, int) |
| |
| void | ReduceLongSum (Long &, int) |
| |
| void | ReduceLongMax (Long &, int) |
| |
| void | ReduceLongMin (Long &, int) |
| |
| void | ReduceLongAnd (Long *rvar, int cnt) |
| |
| void | ReduceLongSum (Long *rvar, int cnt) |
| |
| void | ReduceLongMax (Long *rvar, int cnt) |
| |
| void | ReduceLongMin (Long *rvar, int cnt) |
| |
| void | ReduceLongAnd (Long *rvar, int cnt, int cpu) |
| |
| void | ReduceLongSum (Long *rvar, int cnt, int cpu) |
| |
| void | ReduceLongMax (Long *rvar, int cnt, int cpu) |
| |
| void | ReduceLongMin (Long *rvar, int cnt, int cpu) |
| |
| void | ReduceLongAnd (Vector< std::reference_wrapper< Long > > const &rvar) |
| |
| void | ReduceLongSum (Vector< std::reference_wrapper< Long > > const &rvar) |
| |
| void | ReduceLongMax (Vector< std::reference_wrapper< Long > > const &rvar) |
| |
| void | ReduceLongMin (Vector< std::reference_wrapper< Long > > const &rvar) |
| |
| void | ReduceLongAnd (Vector< std::reference_wrapper< Long > > const &rvar, int cpu) |
| |
| void | ReduceLongSum (Vector< std::reference_wrapper< Long > > const &rvar, int cpu) |
| |
| void | ReduceLongMax (Vector< std::reference_wrapper< Long > > const &rvar, int cpu) |
| |
| void | ReduceLongMin (Vector< std::reference_wrapper< Long > > const &rvar, int cpu) |
| |
| void | ReduceIntSum (int &) |
| |
| void | ReduceIntMax (int &) |
| |
| void | ReduceIntMin (int &) |
| |
| void | ReduceIntSum (int &, int) |
| |
| void | ReduceIntMax (int &, int) |
| |
| void | ReduceIntMin (int &, int) |
| |
| void | ReduceIntSum (int *rvar, int cnt) |
| |
| void | ReduceIntMax (int *rvar, int cnt) |
| |
| void | ReduceIntMin (int *rvar, int cnt) |
| |
| void | ReduceIntSum (int *rvar, int cnt, int cpu) |
| |
| void | ReduceIntMax (int *rvar, int cnt, int cpu) |
| |
| void | ReduceIntMin (int *rvar, int cnt, int cpu) |
| |
| void | ReduceIntSum (Vector< std::reference_wrapper< int > > const &rvar) |
| |
| void | ReduceIntMax (Vector< std::reference_wrapper< int > > const &rvar) |
| |
| void | ReduceIntMin (Vector< std::reference_wrapper< int > > const &rvar) |
| |
| void | ReduceIntSum (Vector< std::reference_wrapper< int > > const &rvar, int cpu) |
| |
| void | ReduceIntMax (Vector< std::reference_wrapper< int > > const &rvar, int cpu) |
| |
| void | ReduceIntMin (Vector< std::reference_wrapper< int > > const &rvar, int cpu) |
| |
| void | ReduceBoolAnd (bool &) |
| |
| void | ReduceBoolOr (bool &) |
| |
| void | ReduceBoolAnd (bool &, int) |
| |
| void | ReduceBoolOr (bool &, int) |
| |
| void | Bcast (void *, int, MPI_Datatype, int, MPI_Comm) |
| |
| double | second () noexcept |
| | Returns wall-clock seconds since start of execution.
|
| |
| void | Wait (MPI_Request &, MPI_Status &) |
| |
| void | Waitall (Vector< MPI_Request > &, Vector< MPI_Status > &) |
| |
| void | Waitany (Vector< MPI_Request > &, int &, MPI_Status &) |
| |
| void | Waitsome (Vector< MPI_Request > &, int &, Vector< int > &, Vector< MPI_Status > &) |
| |
| void | AMREX_FORT_NAME (BL_PD_BARRIER, bl_pd_barrier)() |
| |
| void | AMREX_FORT_NAME (BL_PD_COMMUNICATOR, bl_pd_communicator)(void *vcomm) |
| |
| void | AMREX_FORT_NAME (BL_PD_MYPROC, bl_pd_myproc)(int *myproc) |
| |
| void | AMREX_FORT_NAME (BL_PD_NPROCS, bl_pd_nprocs)(int *nprocs) |
| |
| void | AMREX_FORT_NAME (BL_PD_IOPROC, bl_pd_ioproc)(int *ioproc) |
| |
| void | AMREX_FORT_NAME (BL_PD_IS_IOPROC, bl_pd_is_ioproc)(int *ioproc) |
| |
| void | AMREX_FORT_NAME (BL_PD_SECOND, bl_pd_second)(double *r) |
| |
| void | AMREX_FORT_NAME (BL_PD_REDUCE_REAL_MAX_TO_IOPROC, bl_pd_reduce_real_max_to_ioproc)(double *r) |
| |
| void | AMREX_FORT_NAME (BL_PD_REDUCE_REAL_SUM_TO_IOPROC, bl_pd_reduce_real_sum_to_ioproc)(double *r) |
| |
| void | AMREX_FORT_NAME (BL_PD_ABORT, bl_pd_abort)() |
| |
| void | ReadAndBcastFile (const std::string &filename, Vector< char > &charBuf, bool bExitOnError=true, const MPI_Comm &comm=Communicator()) |
| |
| void | Initialize () |
| |
| void | Finalize () |
| |
| void | StartTeams () |
| | Split the process pool into teams.
|
| |
| void | EndTeams () |
| |
| std::string | mpi_level_to_string (int mtlev) |
| |
| const std::string | Unnamed ("Unnamed") |
| | Used as default argument to ParallelDescriptor::Barrier().
|
| |
| bool | UseGpuAwareMpi () |
| |
| int | MyProc () noexcept |
| |
| int | MyProc (MPI_Comm comm) noexcept |
| |
| int | MinTag () noexcept |
| |
| int | MaxTag () noexcept |
| |
| MPI_Comm | Communicator () noexcept |
| |
| int | NProcsPerNode () noexcept |
| |
| int | MyRankInNode () noexcept |
| |
| int | NProcsPerProcessor () noexcept |
| |
| int | MyRankInProcessor () noexcept |
| |
| int | NProcs () noexcept |
| |
| int | NProcs (MPI_Comm comm) noexcept |
| |
| int | IOProcessorNumber () noexcept |
| |
| bool | IOProcessor () noexcept |
| | Is this CPU the I/O Processor? To get the rank number, call IOProcessorNumber()
|
| |
| int | IOProcessorNumber (MPI_Comm comm) noexcept |
| |
| bool | IOProcessor (MPI_Comm comm) noexcept |
| |
| int | TeamSize () noexcept |
| |
| int | NTeams () noexcept |
| |
| int | MyTeamColor () noexcept |
| |
| int | MyTeamLead () noexcept |
| |
| int | MyRankInTeam () noexcept |
| |
| int | TeamLead (int rank) noexcept |
| |
| bool | isTeamLead () noexcept |
| |
| bool | sameTeam (int rank) noexcept |
| |
| bool | sameTeam (int rankA, int rankB) noexcept |
| |
| int | RankInLeadComm (int rank) noexcept |
| |
| bool | doTeamReduce () noexcept |
| |
| const ProcessTeam & | MyTeam () noexcept |
| |
| std::pair< int, int > | team_range (int begin, int end, int rit=-1, int nworkers=0) noexcept |
| |
| template<typename F > |
| void | team_for (int begin, int end, const F &f) |
| |
| template<typename F > |
| void | team_for (int begin, int end, int rit, const F &f) |
| |
| template<typename F > |
| void | team_for (int begin, int end, int rit, int nworkers, const F &f) |
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealSum (T &rvar) |
| | Real sum reduction.
|
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealSum (T *rvar, int cnt) |
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealSum (Vector< std::reference_wrapper< T > > const &rvar) |
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealSum (T &rvar, int cpu) |
| | Real sum reduction to specified cpu.
|
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealSum (T *rvar, int cnt, int cpu) |
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealSum (Vector< std::reference_wrapper< T > > const &rvar, int cpu) |
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealMax (T &rvar) |
| | Real max reduction.
|
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealMax (T *rvar, int cnt) |
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealMax (Vector< std::reference_wrapper< T > > const &rvar) |
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealMax (T &rvar, int cpu) |
| | Real max reduction to specified cpu.
|
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealMax (T *rvar, int cnt, int cpu) |
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealMax (Vector< std::reference_wrapper< T > > const &rvar, int cpu) |
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealMin (T &rvar) |
| | Real min reduction.
|
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealMin (T *rvar, int cnt) |
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealMin (Vector< std::reference_wrapper< T > > const &rvar) |
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealMin (T &rvar, int cpu) |
| | Real min reduction to specified cpu.
|
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealMin (T *rvar, int cnt, int cpu) |
| |
| template<typename T > |
| std::enable_if_t< std::is_floating_point_v< T > > | ReduceRealMin (Vector< std::reference_wrapper< T > > const &rvar, int cpu) |
| |
| int | SeqNum () noexcept |
| | Returns sequential message sequence numbers, usually used as tags for send/recv.
|
| |
| template<class T > |
| Message | Asend (const T *, size_t n, int pid, int tag) |
| |
| template<class T > |
| Message | Asend (const T *, size_t n, int pid, int tag, MPI_Comm comm) |
| |
| template<class T > |
| Message | Asend (const std::vector< T > &buf, int pid, int tag) |
| |
| template<class T > |
| Message | Arecv (T *, size_t n, int pid, int tag) |
| |
| template<class T > |
| Message | Arecv (T *, size_t n, int pid, int tag, MPI_Comm comm) |
| |
| template<class T > |
| Message | Arecv (std::vector< T > &buf, int pid, int tag) |
| |
| template<class T > |
| Message | Send (const T *buf, size_t n, int dst_pid, int tag) |
| |
| template<class T > |
| Message | Send (const T *buf, size_t n, int dst_pid, int tag, MPI_Comm comm) |
| |
| template<class T > |
| Message | Send (const std::vector< T > &buf, int dst_pid, int tag) |
| |
| template<class T > |
| Message | Recv (T *, size_t n, int pid, int tag) |
| |
| template<class T > |
| Message | Recv (T *, size_t n, int pid, int tag, MPI_Comm comm) |
| |
| template<class T > |
| Message | Recv (std::vector< T > &buf, int pid, int tag) |
| |
| template<class T > |
| void | Bcast (T *, size_t n, int root=0) |
| |
| template<class T > |
| void | Bcast (T *, size_t n, int root, const MPI_Comm &comm) |
| |
| template<class T , class T1 > |
| void | Scatter (T *, size_t n, const T1 *, size_t n1, int root) |
| |
| template<class T , class T1 > |
| void | Gather (const T *, size_t n, T1 *, size_t n1, int root) |
| |
| template<class T > |
| std::vector< T > | Gather (const T &, int root) |
| |
| template<class T > |
| void | Gatherv (const T *send, int sc, T *recv, const std::vector< int > &rc, const std::vector< int > &disp, int root) |
| |
| template<class T > |
| void | GatherLayoutDataToVector (const LayoutData< T > &sendbuf, Vector< T > &recvbuf, int root) |
| | Gather LayoutData values to a vector on root.
|
| |
| template<typename T , typename F > |
| MPI_Op | Mpi_op () |
| |