|
core
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
|
#include <cstdlib>#include <cstring>Go to the source code of this file.
Classes | |
| struct | MPI_Status |
Macros | |
| #define | MPI_COMM_WORLD 0 |
| #define | MPI_COMM_NULL (-1) |
| #define | MPI_REQUEST_NULL 0 |
| #define | MPI_INFO_NULL 0 |
| #define | MPI_STATUS_IGNORE (static_cast<MPI_Status*>(nullptr)) |
| #define | MPI_STATUSES_IGNORE (static_cast<MPI_Status*>(nullptr)) |
| #define | MPI_ANY_SOURCE (-1) |
| #define | MPI_UNDEFINED (-32766) |
| #define | MPI_UNWEIGHTED (static_cast<int*>(nullptr)) |
| #define | MPI_SUCCESS 0 |
| #define | MPI_BYTE 1 |
| #define | MPI_INT 4 |
| #define | MPI_LONG 8 |
| #define | MPI_DOUBLE 8 |
| #define | MPI_SUM 0 |
| #define | MPI_MAX 1 |
| #define | MPI_MIN 2 |
| #define | MPI_LAND 3 |
Typedefs | |
| using | MPI_Comm = int |
| using | MPI_Request = int |
| using | MPI_Datatype = int |
| using | MPI_Op = int |
| using | MPI_Info = int |
Functions | |
| int | MPI_Init (int *, char ***) |
| int | MPI_Initialized (int *f) |
| int | MPI_Finalize () |
| int | MPI_Finalized (int *f) |
| int | MPI_Abort (MPI_Comm, int code) |
| int | MPI_Comm_rank (MPI_Comm, int *r) |
| int | MPI_Comm_size (MPI_Comm, int *s) |
| int | MPI_Comm_free (MPI_Comm *) |
| int | MPI_Barrier (MPI_Comm) |
| int | MPI_Allreduce (const void *sbuf, void *rbuf, int count, MPI_Datatype dt, MPI_Op, MPI_Comm) |
| int | MPI_Bcast (void *, int, MPI_Datatype, int, MPI_Comm) |
| int | MPI_Send (const void *, int, MPI_Datatype, int, int, MPI_Comm) |
| int | MPI_Recv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *) |
| int | MPI_Isend (const void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *) |
| int | MPI_Irecv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *) |
| int | MPI_Issend (const void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *) |
| int | MPI_Iprobe (int, int, MPI_Comm, int *flag, MPI_Status *) |
| int | MPI_Get_count (const MPI_Status *, MPI_Datatype, int *c) |
| int | MPI_Test (MPI_Request *, int *flag, MPI_Status *) |
| int | MPI_Testall (int, MPI_Request *, int *flag, MPI_Status *) |
| int | MPI_Wait (MPI_Request *, MPI_Status *) |
| int | MPI_Waitall (int, MPI_Request *, MPI_Status *) |
| int | MPI_Waitany (int, MPI_Request *, int *idx, MPI_Status *) |
| int | MPI_Ibarrier (MPI_Comm, MPI_Request *) |
| int | MPI_Dist_graph_create_adjacent (MPI_Comm c, int, const int *, const int *, int, const int *, const int *, MPI_Info, int, MPI_Comm *out) |
| int | MPI_Neighbor_alltoallv (const void *, const int *, const int *, MPI_Datatype, void *, const int *, const int *, MPI_Datatype, MPI_Comm) |
| #define MPI_COMM_WORLD 0 |
Definition at line 26 of file mpi_stub.hpp.
| #define MPI_COMM_NULL (-1) |
Definition at line 27 of file mpi_stub.hpp.
| #define MPI_REQUEST_NULL 0 |
Definition at line 28 of file mpi_stub.hpp.
| #define MPI_INFO_NULL 0 |
Definition at line 29 of file mpi_stub.hpp.
| #define MPI_STATUS_IGNORE (static_cast<MPI_Status*>(nullptr)) |
Definition at line 30 of file mpi_stub.hpp.
| #define MPI_STATUSES_IGNORE (static_cast<MPI_Status*>(nullptr)) |
Definition at line 31 of file mpi_stub.hpp.
| #define MPI_ANY_SOURCE (-1) |
Definition at line 32 of file mpi_stub.hpp.
| #define MPI_UNDEFINED (-32766) |
Definition at line 33 of file mpi_stub.hpp.
| #define MPI_UNWEIGHTED (static_cast<int*>(nullptr)) |
Definition at line 34 of file mpi_stub.hpp.
| #define MPI_SUCCESS 0 |
Definition at line 35 of file mpi_stub.hpp.
| #define MPI_BYTE 1 |
Definition at line 37 of file mpi_stub.hpp.
| #define MPI_INT 4 |
Definition at line 38 of file mpi_stub.hpp.
| #define MPI_LONG 8 |
Definition at line 39 of file mpi_stub.hpp.
| #define MPI_DOUBLE 8 |
Definition at line 40 of file mpi_stub.hpp.
| #define MPI_SUM 0 |
Definition at line 42 of file mpi_stub.hpp.
| #define MPI_MAX 1 |
Definition at line 43 of file mpi_stub.hpp.
| #define MPI_MIN 2 |
Definition at line 44 of file mpi_stub.hpp.
| #define MPI_LAND 3 |
Definition at line 45 of file mpi_stub.hpp.
| using MPI_Comm = int |
Definition at line 16 of file mpi_stub.hpp.
| using MPI_Request = int |
Definition at line 17 of file mpi_stub.hpp.
| using MPI_Datatype = int |
Definition at line 18 of file mpi_stub.hpp.
| using MPI_Op = int |
Definition at line 19 of file mpi_stub.hpp.
| using MPI_Info = int |
Definition at line 20 of file mpi_stub.hpp.
|
inline |
Definition at line 47 of file mpi_stub.hpp.
References MPI_SUCCESS.
|
inline |
Definition at line 50 of file mpi_stub.hpp.
References MPI_SUCCESS.
|
inline |
Definition at line 54 of file mpi_stub.hpp.
References MPI_SUCCESS.
|
inline |
Definition at line 57 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::halo::GridHaloTopology< Dim >::operator=().
|
inline |
Definition at line 61 of file mpi_stub.hpp.
|
inline |
Definition at line 65 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::amr::DistributedOctree< Dim, Bits >::init(), and peclet::core::halo::NbxEngine::rank().
|
inline |
Definition at line 69 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::amr::DistributedMultigrid< Dim, Bits >::build(), peclet::core::amr::DistributedMultigridView< Dim, Bits >::build(), peclet::core::halo::ParticleHaloTopology< Dim >::build(), peclet::core::halo::ParticleMigrator< Dim >::gatherGhosts(), peclet::core::amr::DistributedOctree< Dim, Bits >::init(), peclet::core::halo::rebalanceByParticleCount(), and peclet::core::halo::NbxEngine::size().
|
inline |
Definition at line 73 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::halo::GridHaloTopology< Dim >::operator=().
|
inline |
Definition at line 76 of file mpi_stub.hpp.
References MPI_SUCCESS.
|
inline |
Definition at line 80 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::amr::DistributedOctree< Dim, Bits >::balance(), peclet::core::amr::DistributedOctree< Dim, Bits >::rebalance(), peclet::core::halo::rebalanceByParticleCount(), peclet::core::amr::DistributedFvOperator< Dim, Bits >::residual(), peclet::core::amr::DistributedPoisson< Dim, Bits >::residual(), peclet::core::amr::DistributedPoissonView< Dim, Bits >::residual(), peclet::core::amr::DistributedPoisson< Dim, Bits >::residualNorm(), and peclet::core::amr::DistributedPoissonView< Dim, Bits >::residualNorm().
|
inline |
Definition at line 86 of file mpi_stub.hpp.
References MPI_SUCCESS.
|
inline |
Definition at line 92 of file mpi_stub.hpp.
References MPI_SUCCESS.
|
inline |
Definition at line 95 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::halo::NbxEngine::exchange().
|
inline |
Definition at line 98 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::halo::GridHalo< T >::exchange(), peclet::core::amr::DistributedGatherHalo< Dim, Bits >::gather(), peclet::core::halo::ParticleHaloTopology< Dim >::reverse(), peclet::core::halo::GridHaloTopology< Dim >::reverseAdd(), and peclet::core::halo::GridHaloTopology< Dim >::start().
|
inline |
Definition at line 101 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::halo::GridHalo< T >::exchange(), peclet::core::amr::DistributedGatherHalo< Dim, Bits >::gather(), peclet::core::halo::ParticleHaloTopology< Dim >::reverse(), peclet::core::halo::GridHaloTopology< Dim >::reverseAdd(), and peclet::core::halo::GridHaloTopology< Dim >::start().
|
inline |
Definition at line 104 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::halo::NbxEngine::exchange().
|
inline |
Definition at line 107 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::halo::NbxEngine::exchange().
|
inline |
Definition at line 111 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::halo::NbxEngine::exchange().
|
inline |
Definition at line 115 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::halo::NbxEngine::exchange().
|
inline |
Definition at line 119 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::halo::NbxEngine::exchange().
|
inline |
Definition at line 123 of file mpi_stub.hpp.
References MPI_SUCCESS.
|
inline |
Definition at line 126 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::halo::GridHalo< T >::exchange(), peclet::core::halo::ParticleHalo< Dim >::forward(), peclet::core::amr::DistributedGatherHalo< Dim, Bits >::gather(), peclet::core::halo::ParticleHaloTopology< Dim >::reverse(), peclet::core::halo::ParticleHalo< Dim >::reverse(), peclet::core::halo::GridHaloTopology< Dim >::reverseAdd(), and peclet::core::halo::GridHaloTopology< Dim >::wait().
|
inline |
Definition at line 129 of file mpi_stub.hpp.
References MPI_SUCCESS, and MPI_UNDEFINED.
Referenced by peclet::core::halo::GridHaloTopology< Dim >::reverseAdd(), and peclet::core::halo::GridHaloTopology< Dim >::wait().
|
inline |
Definition at line 133 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::halo::NbxEngine::exchange().
|
inline |
Definition at line 136 of file mpi_stub.hpp.
References MPI_SUCCESS.
|
inline |
Definition at line 141 of file mpi_stub.hpp.
References MPI_SUCCESS.
Referenced by peclet::core::halo::GridHaloTopology< Dim >::exchangePersistent().