|
monolish
0.16.1
MONOlithic LInear equation Solvers for Highly-parallel architecture
|
MPI class (singleton) More...
#include <monolish_mpi_core.hpp>

Public Member Functions | |
| double | Allreduce (double val) const |
| MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| float | Allreduce (float val) const |
| MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| int | Allreduce (int val) const |
| MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| size_t | Allreduce (size_t val) const |
| MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| double | Allreduce_max (double val) const |
| MPI_Allreduce (MPI_MAX) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| float | Allreduce_max (float val) const |
| MPI_Allreduce (MPI_MAX) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| int | Allreduce_max (int val) const |
| MPI_Allreduce (MPI_MAX) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| size_t | Allreduce_max (size_t val) const |
| MPI_Allreduce (MPI_MAX) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| double | Allreduce_min (double val) const |
| MPI_Allreduce (MPI_MIN) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| float | Allreduce_min (float val) const |
| MPI_Allreduce (MPI_MIN) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| int | Allreduce_min (int val) const |
| MPI_Allreduce (MPI_MIN) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| size_t | Allreduce_min (size_t val) const |
| MPI_Allreduce (MPI_MIN) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| double | Allreduce_prod (double val) const |
| MPI_Allreduce (MPI_PROD) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| float | Allreduce_prod (float val) const |
| MPI_Allreduce (MPI_PROD) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| int | Allreduce_prod (int val) const |
| MPI_Allreduce (MPI_PROD) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| size_t | Allreduce_prod (size_t val) const |
| MPI_Allreduce (MPI_PROD) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| double | Allreduce_sum (double val) const |
| MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| float | Allreduce_sum (float val) const |
| MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| int | Allreduce_sum (int val) const |
| MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| size_t | Allreduce_sum (size_t val) const |
| MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes. More... | |
| void | Barrier () const |
| Blocks until all processes in the communicator have reached this routine. More... | |
| void | Bcast (double &val, int root) const |
| MPI_Bcast, Broadcasts a message from the process with rank root to all other processes. More... | |
| void | Bcast (float &val, int root) const |
| MPI_Bcast, Broadcasts a message from the process with rank root to all other processes. More... | |
| void | Bcast (int &val, int root) const |
| MPI_Bcast, Broadcasts a message from the process with rank root to all other processes. More... | |
| void | Bcast (monolish::vector< double > &vec, int root) const |
| MPI_Bcast, Broadcasts a message from the process with rank root to all other processes. More... | |
| void | Bcast (monolish::vector< float > &vec, int root) const |
| MPI_Bcast, Broadcasts a message from the process with rank root to all other processes. More... | |
| void | Bcast (size_t &val, int root) const |
| MPI_Bcast, Broadcasts a message from the process with rank root to all other processes. More... | |
| void | Bcast (std::vector< double > &vec, int root) const |
| MPI_Bcast, Broadcasts a message from the process with rank root to all other processes. More... | |
| void | Bcast (std::vector< float > &vec, int root) const |
| MPI_Bcast, Broadcasts a message from the process with rank root to all other processes. More... | |
| void | Bcast (std::vector< int > &vec, int root) const |
| MPI_Bcast, Broadcasts a message from the process with rank root to all other processes. More... | |
| void | Bcast (std::vector< size_t > &vec, int root) const |
| MPI_Bcast, Broadcasts a message from the process with rank root to all other processes. More... | |
| comm (comm &&)=delete | |
| comm (const comm &)=delete | |
| void | Finalize () |
| Terminates MPI execution environment. More... | |
| void | Gather (monolish::vector< double > &sendvec, monolish::vector< double > &recvvec, int root) const |
| MPI_Gather, Gathers vector from all processes The data is evenly divided and transmitted to each process. More... | |
| void | Gather (monolish::vector< float > &sendvec, monolish::vector< float > &recvvec, int root) const |
| MPI_Gather, Gathers vector from all processes The data is evenly divided and transmitted to each process. More... | |
| void | Gather (std::vector< double > &sendvec, std::vector< double > &recvvec, int root) const |
| MPI_Gather, Gathers vector from all processes The data is evenly divided and transmitted to each process. More... | |
| void | Gather (std::vector< float > &sendvec, std::vector< float > &recvvec, int root) const |
| MPI_Gather, Gathers vector from all processes The data is evenly divided and transmitted to each process. More... | |
| void | Gather (std::vector< int > &sendvec, std::vector< int > &recvvec, int root) const |
| MPI_Gather, Gathers vector from all processes The data is evenly divided and transmitted to each process. More... | |
| void | Gather (std::vector< size_t > &sendvec, std::vector< size_t > &recvvec, int root) const |
| MPI_Gather, Gathers vector from all processes The data is evenly divided and transmitted to each process. More... | |
| MPI_Comm | get_comm () const |
| get communicator More... | |
| int | get_rank () |
| get my rank number More... | |
| int | get_size () |
| get the number of processes More... | |
| void | Init () |
| Initialize the MPI execution environment. More... | |
| void | Init (int argc, char **argv) |
| Initialize the MPI execution environment. More... | |
| bool | Initialized () const |
| Indicates whether MPI_Init has been called. More... | |
| void | Irecv (double val, int src, int tag) |
| MPI_Irecv for scalar. Performs a nonblocking recv. More... | |
| void | Irecv (float val, int src, int tag) |
| MPI_Irecv for scalar. Performs a nonblocking recv. More... | |
| void | Irecv (int val, int src, int tag) |
| MPI_Irecv for scalar. Performs a nonblocking recv. More... | |
| void | Irecv (monolish::vector< double > &vec, int src, int tag) |
| MPI_Irecv for monolish::vector. Performs a nonblocking recv. More... | |
| void | Irecv (monolish::vector< float > &vec, int src, int tag) |
| MPI_Irecv for monolish::vector. Performs a nonblocking recv. More... | |
| void | Irecv (size_t val, int src, int tag) |
| MPI_Irecv for scalar. Performs a nonblocking recv. More... | |
| void | Irecv (std::vector< double > &vec, int src, int tag) |
| MPI_Irecv for std::vector. Performs a nonblocking recv. More... | |
| void | Irecv (std::vector< float > &vec, int src, int tag) |
| MPI_Irecv for std::vector. Performs a nonblocking recv. More... | |
| void | Irecv (std::vector< int > &vec, int src, int tag) |
| MPI_Irecv for std::vector. Performs a nonblocking recv. More... | |
| void | Irecv (std::vector< size_t > &vec, int src, int tag) |
| MPI_Irecv for std::vector. Performs a nonblocking recv. More... | |
| void | Isend (const monolish::vector< double > &vec, int dst, int tag) |
| MPI_Isend for monolish::vector. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall(). More... | |
| void | Isend (const monolish::vector< float > &vec, int dst, int tag) |
| MPI_Isend for monolish::vector. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall(). More... | |
| void | Isend (const std::vector< double > &vec, int dst, int tag) |
| MPI_Isend for std::vector. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall(). More... | |
| void | Isend (const std::vector< float > &vec, int dst, int tag) |
| MPI_Isend for std::vector. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall(). More... | |
| void | Isend (const std::vector< int > &vec, int dst, int tag) |
| MPI_Isend for std::vector. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall(). More... | |
| void | Isend (const std::vector< size_t > &vec, int dst, int tag) |
| MPI_Isend for std::vector. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall(). More... | |
| void | Isend (double val, int dst, int tag) |
| MPI_Isend for scalar. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall(). More... | |
| void | Isend (float val, int dst, int tag) |
| MPI_Isend for scalar. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall(). More... | |
| void | Isend (int val, int dst, int tag) |
| MPI_Isend for scalar. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall(). More... | |
| void | Isend (size_t val, int dst, int tag) |
| MPI_Isend for scalar. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall(). More... | |
| comm & | operator= (comm &&)=delete |
| comm & | operator= (const comm &)=delete |
| MPI_Status | Recv (double val, int src, int tag) const |
| MPI_Recv for scalar. Performs a blocking recv. More... | |
| MPI_Status | Recv (float val, int src, int tag) const |
| MPI_Recv for scalar. Performs a blocking recv. More... | |
| MPI_Status | Recv (int val, int src, int tag) const |
| MPI_Recv for scalar. Performs a blocking recv. More... | |
| MPI_Status | Recv (monolish::vector< double > &vec, int src, int tag) const |
| MPI_Recv for monolish::vector. Performs a blocking recv. More... | |
| MPI_Status | Recv (monolish::vector< float > &vec, int src, int tag) const |
| MPI_Recv for monolish::vector. Performs a blocking recv. More... | |
| MPI_Status | Recv (size_t val, int src, int tag) const |
| MPI_Recv for scalar. Performs a blocking recv. More... | |
| MPI_Status | Recv (std::vector< double > &vec, int src, int tag) const |
| MPI_Recv for std::vector. Performs a blocking recv. More... | |
| MPI_Status | Recv (std::vector< float > &vec, int src, int tag) const |
| MPI_Recv for std::vector. Performs a blocking recv. More... | |
| MPI_Status | Recv (std::vector< int > &vec, int src, int tag) const |
| MPI_Recv for std::vector. Performs a blocking recv. More... | |
| MPI_Status | Recv (std::vector< size_t > &vec, int src, int tag) const |
| MPI_Recv for std::vector. Performs a blocking recv. More... | |
| void | Scatter (monolish::vector< double > &sendvec, monolish::vector< double > &recvvec, int root) const |
| MPI_Scatter, Sends data from one task to all tasks. The data is evenly divided and transmitted to each process. More... | |
| void | Scatter (monolish::vector< float > &sendvec, monolish::vector< float > &recvvec, int root) const |
| MPI_Scatter, Sends data from one task to all tasks. The data is evenly divided and transmitted to each process. More... | |
| void | Scatter (std::vector< double > &sendvec, std::vector< double > &recvvec, int root) const |
| MPI_Scatter, Sends data from one task to all tasks. The data is evenly divided and transmitted to each process. More... | |
| void | Scatter (std::vector< float > &sendvec, std::vector< float > &recvvec, int root) const |
| MPI_Scatter, Sends data from one task to all tasks. The data is evenly divided and transmitted to each process. More... | |
| void | Scatter (std::vector< int > &sendvec, std::vector< int > &recvvec, int root) const |
| MPI_Scatter, Sends data from one task to all tasks. The data is evenly divided and transmitted to each process. More... | |
| void | Scatter (std::vector< size_t > &sendvec, std::vector< size_t > &recvvec, int root) const |
| MPI_Scatter, Sends data from one task to all tasks. The data is evenly divided and transmitted to each process. More... | |
| void | Send (double val, int dst, int tag) const |
| MPI_Send for scalar. Performs a blocking send. More... | |
| void | Send (float val, int dst, int tag) const |
| MPI_Send for scalar. Performs a blocking send. More... | |
| void | Send (int val, int dst, int tag) const |
| MPI_Send for scalar. Performs a blocking send. More... | |
| void | Send (monolish::vector< double > &vec, int dst, int tag) const |
| MPI_Send for monolish::vector. Performs a blocking send. More... | |
| void | Send (monolish::vector< float > &vec, int dst, int tag) const |
| MPI_Send for monolish::vector. Performs a blocking send. More... | |
| void | Send (size_t val, int dst, int tag) const |
| MPI_Send for scalar. Performs a blocking send. More... | |
| void | Send (std::vector< double > &vec, int dst, int tag) const |
| MPI_Send for std::vector. Performs a blocking send. More... | |
| void | Send (std::vector< float > &vec, int dst, int tag) const |
| MPI_Send for std::vector. Performs a blocking send. More... | |
| void | Send (std::vector< int > &vec, int dst, int tag) const |
| MPI_Send for std::vector. Performs a blocking send. More... | |
| void | Send (std::vector< size_t > &vec, int dst, int tag) const |
| MPI_Send for std::vector. Performs a blocking send. More... | |
| void | set_comm (MPI_Comm external_comm) |
| set communicator More... | |
| void | Waitall () |
| Waits for all communications to complete. More... | |
Static Public Member Functions | |
| static comm & | get_instance () |
Private Member Functions | |
| comm () | |
| ~comm () | |
Private Attributes | |
| MPI_Comm | my_comm = 0 |
| MPI communicator, MPI_COMM_WORLD. More... | |
| std::vector< MPI_Request > | requests |
MPI class (singleton)
Definition at line 22 of file monolish_mpi_core.hpp.
|
inlineprivate |
Definition at line 28 of file monolish_mpi_core.hpp.
|
inlineprivate |
Definition at line 29 of file monolish_mpi_core.hpp.
|
delete |
|
delete |
| double monolish::mpi::comm::Allreduce | ( | double | val | ) | const |
MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| float monolish::mpi::comm::Allreduce | ( | float | val | ) | const |
MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| int monolish::mpi::comm::Allreduce | ( | int | val | ) | const |
MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| size_t monolish::mpi::comm::Allreduce | ( | size_t | val | ) | const |
MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| double monolish::mpi::comm::Allreduce_max | ( | double | val | ) | const |
MPI_Allreduce (MPI_MAX) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| float monolish::mpi::comm::Allreduce_max | ( | float | val | ) | const |
MPI_Allreduce (MPI_MAX) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| int monolish::mpi::comm::Allreduce_max | ( | int | val | ) | const |
MPI_Allreduce (MPI_MAX) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| size_t monolish::mpi::comm::Allreduce_max | ( | size_t | val | ) | const |
MPI_Allreduce (MPI_MAX) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| double monolish::mpi::comm::Allreduce_min | ( | double | val | ) | const |
MPI_Allreduce (MPI_MIN) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| float monolish::mpi::comm::Allreduce_min | ( | float | val | ) | const |
MPI_Allreduce (MPI_MIN) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| int monolish::mpi::comm::Allreduce_min | ( | int | val | ) | const |
MPI_Allreduce (MPI_MIN) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| size_t monolish::mpi::comm::Allreduce_min | ( | size_t | val | ) | const |
MPI_Allreduce (MPI_MIN) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| double monolish::mpi::comm::Allreduce_prod | ( | double | val | ) | const |
MPI_Allreduce (MPI_PROD) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| float monolish::mpi::comm::Allreduce_prod | ( | float | val | ) | const |
MPI_Allreduce (MPI_PROD) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| int monolish::mpi::comm::Allreduce_prod | ( | int | val | ) | const |
MPI_Allreduce (MPI_PROD) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| size_t monolish::mpi::comm::Allreduce_prod | ( | size_t | val | ) | const |
MPI_Allreduce (MPI_PROD) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| double monolish::mpi::comm::Allreduce_sum | ( | double | val | ) | const |
MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| float monolish::mpi::comm::Allreduce_sum | ( | float | val | ) | const |
MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| int monolish::mpi::comm::Allreduce_sum | ( | int | val | ) | const |
MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| size_t monolish::mpi::comm::Allreduce_sum | ( | size_t | val | ) | const |
MPI_Allreduce (MPI_SUM) for scalar. Combines values from all processes and distributes the result back to all processes.
| val | scalar value |
| void monolish::mpi::comm::Barrier | ( | ) | const |
Blocks until all processes in the communicator have reached this routine.
| void monolish::mpi::comm::Bcast | ( | double & | val, |
| int | root | ||
| ) | const |
MPI_Bcast, Broadcasts a message from the process with rank root to all other processes.
| val | scalar value |
| root | root rank number |
| void monolish::mpi::comm::Bcast | ( | float & | val, |
| int | root | ||
| ) | const |
MPI_Bcast, Broadcasts a message from the process with rank root to all other processes.
| val | scalar value |
| root | root rank number |
| void monolish::mpi::comm::Bcast | ( | int & | val, |
| int | root | ||
| ) | const |
MPI_Bcast, Broadcasts a message from the process with rank root to all other processes.
| val | scalar value |
| root | root rank number |
| void monolish::mpi::comm::Bcast | ( | monolish::vector< double > & | vec, |
| int | root | ||
| ) | const |
MPI_Bcast, Broadcasts a message from the process with rank root to all other processes.
| vec | monolish vector (size N) |
| root | root rank number |
| void monolish::mpi::comm::Bcast | ( | monolish::vector< float > & | vec, |
| int | root | ||
| ) | const |
MPI_Bcast, Broadcasts a message from the process with rank root to all other processes.
| vec | monolish vector (size N) |
| root | root rank number |
| void monolish::mpi::comm::Bcast | ( | size_t & | val, |
| int | root | ||
| ) | const |
MPI_Bcast, Broadcasts a message from the process with rank root to all other processes.
| val | scalar value |
| root | root rank number |
| void monolish::mpi::comm::Bcast | ( | std::vector< double > & | vec, |
| int | root | ||
| ) | const |
MPI_Bcast, Broadcasts a message from the process with rank root to all other processes.
| vec | std::vector (size N) |
| root | root rank number |
| void monolish::mpi::comm::Bcast | ( | std::vector< float > & | vec, |
| int | root | ||
| ) | const |
MPI_Bcast, Broadcasts a message from the process with rank root to all other processes.
| vec | std::vector (size N) |
| root | root rank number |
| void monolish::mpi::comm::Bcast | ( | std::vector< int > & | vec, |
| int | root | ||
| ) | const |
MPI_Bcast, Broadcasts a message from the process with rank root to all other processes.
| vec | std::vector (size N) |
| root | root rank number |
| void monolish::mpi::comm::Bcast | ( | std::vector< size_t > & | vec, |
| int | root | ||
| ) | const |
MPI_Bcast, Broadcasts a message from the process with rank root to all other processes.
| vec | std::vector (size N) |
| root | root rank number |
| void monolish::mpi::comm::Finalize | ( | ) |
Terminates MPI execution environment.
| void monolish::mpi::comm::Gather | ( | monolish::vector< double > & | sendvec, |
| monolish::vector< double > & | recvvec, | ||
| int | root | ||
| ) | const |
MPI_Gather, Gathers vector from all processes The data is evenly divided and transmitted to each process.
| sendvec | send data, monolish vector (size N) |
| recvvec | recv data, monolish vector (size N * # of procs) |
| root | root rank number |
| void monolish::mpi::comm::Gather | ( | monolish::vector< float > & | sendvec, |
| monolish::vector< float > & | recvvec, | ||
| int | root | ||
| ) | const |
MPI_Gather, Gathers vector from all processes The data is evenly divided and transmitted to each process.
| sendvec | send data, monolish vector (size N) |
| recvvec | recv data, monolish vector (size N * # of procs) |
| root | root rank number |
| void monolish::mpi::comm::Gather | ( | std::vector< double > & | sendvec, |
| std::vector< double > & | recvvec, | ||
| int | root | ||
| ) | const |
MPI_Gather, Gathers vector from all processes The data is evenly divided and transmitted to each process.
| sendvec | send data, std vector (size N) |
| recvvec | recv data, std vector (size N * # of procs) |
| root | root rank number |
| void monolish::mpi::comm::Gather | ( | std::vector< float > & | sendvec, |
| std::vector< float > & | recvvec, | ||
| int | root | ||
| ) | const |
MPI_Gather, Gathers vector from all processes The data is evenly divided and transmitted to each process.
| sendvec | send data, std vector (size N) |
| recvvec | recv data, std vector (size N * # of procs) |
| root | root rank number |
| void monolish::mpi::comm::Gather | ( | std::vector< int > & | sendvec, |
| std::vector< int > & | recvvec, | ||
| int | root | ||
| ) | const |
MPI_Gather, Gathers vector from all processes The data is evenly divided and transmitted to each process.
| sendvec | send data, std vector (size N) |
| recvvec | recv data, std vector (size N * # of procs) |
| root | root rank number |
| void monolish::mpi::comm::Gather | ( | std::vector< size_t > & | sendvec, |
| std::vector< size_t > & | recvvec, | ||
| int | root | ||
| ) | const |
MPI_Gather, Gathers vector from all processes The data is evenly divided and transmitted to each process.
| sendvec | send data, std vector (size N) |
| recvvec | recv data, std vector (size N * # of procs) |
| root | root rank number |
|
inline |
|
inlinestatic |
Definition at line 39 of file monolish_mpi_core.hpp.
| int monolish::mpi::comm::get_rank | ( | ) |
get my rank number
| int monolish::mpi::comm::get_size | ( | ) |
get the number of processes
| void monolish::mpi::comm::Init | ( | ) |
Initialize the MPI execution environment.
| void monolish::mpi::comm::Init | ( | int | argc, |
| char ** | argv | ||
| ) |
Initialize the MPI execution environment.
| argc | Pointer to the number of arguments |
| argv | Pointer to the argument vector |
| bool monolish::mpi::comm::Initialized | ( | ) | const |
Indicates whether MPI_Init has been called.
| void monolish::mpi::comm::Irecv | ( | double | val, |
| int | src, | ||
| int | tag | ||
| ) |
MPI_Irecv for scalar. Performs a nonblocking recv.
| val | scalar value |
| src | rank of source |
| tag | message tag |
| void monolish::mpi::comm::Irecv | ( | float | val, |
| int | src, | ||
| int | tag | ||
| ) |
MPI_Irecv for scalar. Performs a nonblocking recv.
| val | scalar value |
| src | rank of source |
| tag | message tag |
| void monolish::mpi::comm::Irecv | ( | int | val, |
| int | src, | ||
| int | tag | ||
| ) |
MPI_Irecv for scalar. Performs a nonblocking recv.
| val | scalar value |
| src | rank of source |
| tag | message tag |
| void monolish::mpi::comm::Irecv | ( | monolish::vector< double > & | vec, |
| int | src, | ||
| int | tag | ||
| ) |
MPI_Irecv for monolish::vector. Performs a nonblocking recv.
| vec | monolish::vector (size N) |
| src | rank of source |
| tag | message tag |
| void monolish::mpi::comm::Irecv | ( | monolish::vector< float > & | vec, |
| int | src, | ||
| int | tag | ||
| ) |
MPI_Irecv for monolish::vector. Performs a nonblocking recv.
| vec | monolish::vector (size N) |
| src | rank of source |
| tag | message tag |
| void monolish::mpi::comm::Irecv | ( | size_t | val, |
| int | src, | ||
| int | tag | ||
| ) |
MPI_Irecv for scalar. Performs a nonblocking recv.
| val | scalar value |
| src | rank of source |
| tag | message tag |
| void monolish::mpi::comm::Irecv | ( | std::vector< double > & | vec, |
| int | src, | ||
| int | tag | ||
| ) |
MPI_Irecv for std::vector. Performs a nonblocking recv.
| vec | std::vector (size N) |
| src | rank of source |
| tag | message tag |
| void monolish::mpi::comm::Irecv | ( | std::vector< float > & | vec, |
| int | src, | ||
| int | tag | ||
| ) |
MPI_Irecv for std::vector. Performs a nonblocking recv.
| vec | std::vector (size N) |
| src | rank of source |
| tag | message tag |
| void monolish::mpi::comm::Irecv | ( | std::vector< int > & | vec, |
| int | src, | ||
| int | tag | ||
| ) |
MPI_Irecv for std::vector. Performs a nonblocking recv.
| vec | std::vector (size N) |
| src | rank of source |
| tag | message tag |
| void monolish::mpi::comm::Irecv | ( | std::vector< size_t > & | vec, |
| int | src, | ||
| int | tag | ||
| ) |
MPI_Irecv for std::vector. Performs a nonblocking recv.
| vec | std::vector (size N) |
| src | rank of source |
| tag | message tag |
| void monolish::mpi::comm::Isend | ( | const monolish::vector< double > & | vec, |
| int | dst, | ||
| int | tag | ||
| ) |
MPI_Isend for monolish::vector. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall().
| vec | std::vector (size N) |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Isend | ( | const monolish::vector< float > & | vec, |
| int | dst, | ||
| int | tag | ||
| ) |
MPI_Isend for monolish::vector. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall().
| vec | std::vector (size N) |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Isend | ( | const std::vector< double > & | vec, |
| int | dst, | ||
| int | tag | ||
| ) |
MPI_Isend for std::vector. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall().
| vec | std::vector (size N) |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Isend | ( | const std::vector< float > & | vec, |
| int | dst, | ||
| int | tag | ||
| ) |
MPI_Isend for std::vector. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall().
| vec | std::vector (size N) |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Isend | ( | const std::vector< int > & | vec, |
| int | dst, | ||
| int | tag | ||
| ) |
MPI_Isend for std::vector. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall().
| vec | std::vector (size N) |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Isend | ( | const std::vector< size_t > & | vec, |
| int | dst, | ||
| int | tag | ||
| ) |
MPI_Isend for std::vector. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall().
| vec | std::vector (size N) |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Isend | ( | double | val, |
| int | dst, | ||
| int | tag | ||
| ) |
MPI_Isend for scalar. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall().
| val | scalar value |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Isend | ( | float | val, |
| int | dst, | ||
| int | tag | ||
| ) |
MPI_Isend for scalar. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall().
| val | scalar value |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Isend | ( | int | val, |
| int | dst, | ||
| int | tag | ||
| ) |
MPI_Isend for scalar. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall().
| val | scalar value |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Isend | ( | size_t | val, |
| int | dst, | ||
| int | tag | ||
| ) |
MPI_Isend for scalar. Performs a nonblocking send. Requests are stored internally. All requests are synchronized by Waitall().
| val | scalar value |
| dst | rank of destination |
| tag | message tag |
| MPI_Status monolish::mpi::comm::Recv | ( | double | val, |
| int | src, | ||
| int | tag | ||
| ) | const |
MPI_Recv for scalar. Performs a blocking recv.
| val | scalar value |
| src | rank of source |
| tag | message tag |
| MPI_Status monolish::mpi::comm::Recv | ( | float | val, |
| int | src, | ||
| int | tag | ||
| ) | const |
MPI_Recv for scalar. Performs a blocking recv.
| val | scalar value |
| src | rank of source |
| tag | message tag |
| MPI_Status monolish::mpi::comm::Recv | ( | int | val, |
| int | src, | ||
| int | tag | ||
| ) | const |
MPI_Recv for scalar. Performs a blocking recv.
| val | scalar value |
| src | rank of source |
| tag | message tag |
| MPI_Status monolish::mpi::comm::Recv | ( | monolish::vector< double > & | vec, |
| int | src, | ||
| int | tag | ||
| ) | const |
MPI_Recv for monolish::vector. Performs a blocking recv.
| vec | monolish::vector (size N) |
| src | rank of source |
| tag | message tag |
| MPI_Status monolish::mpi::comm::Recv | ( | monolish::vector< float > & | vec, |
| int | src, | ||
| int | tag | ||
| ) | const |
MPI_Recv for monolish::vector. Performs a blocking recv.
| vec | monolish::vector (size N) |
| src | rank of source |
| tag | message tag |
| MPI_Status monolish::mpi::comm::Recv | ( | size_t | val, |
| int | src, | ||
| int | tag | ||
| ) | const |
MPI_Recv for scalar. Performs a blocking recv.
| val | scalar value |
| src | rank of source |
| tag | message tag |
| MPI_Status monolish::mpi::comm::Recv | ( | std::vector< double > & | vec, |
| int | src, | ||
| int | tag | ||
| ) | const |
MPI_Recv for std::vector. Performs a blocking recv.
| vec | std::vector (size N) |
| src | rank of source |
| tag | message tag |
| MPI_Status monolish::mpi::comm::Recv | ( | std::vector< float > & | vec, |
| int | src, | ||
| int | tag | ||
| ) | const |
MPI_Recv for std::vector. Performs a blocking recv.
| vec | std::vector (size N) |
| src | rank of source |
| tag | message tag |
| MPI_Status monolish::mpi::comm::Recv | ( | std::vector< int > & | vec, |
| int | src, | ||
| int | tag | ||
| ) | const |
MPI_Recv for std::vector. Performs a blocking recv.
| vec | std::vector (size N) |
| src | rank of source |
| tag | message tag |
| MPI_Status monolish::mpi::comm::Recv | ( | std::vector< size_t > & | vec, |
| int | src, | ||
| int | tag | ||
| ) | const |
MPI_Recv for std::vector. Performs a blocking recv.
| vec | std::vector (size N) |
| src | rank of source |
| tag | message tag |
| void monolish::mpi::comm::Scatter | ( | monolish::vector< double > & | sendvec, |
| monolish::vector< double > & | recvvec, | ||
| int | root | ||
| ) | const |
MPI_Scatter, Sends data from one task to all tasks. The data is evenly divided and transmitted to each process.
| sendvec | send data, monolish vector (size N) |
| recvvec | recv data, monolish vector (size N / # of procs) |
| root | root rank number |
| void monolish::mpi::comm::Scatter | ( | monolish::vector< float > & | sendvec, |
| monolish::vector< float > & | recvvec, | ||
| int | root | ||
| ) | const |
MPI_Scatter, Sends data from one task to all tasks. The data is evenly divided and transmitted to each process.
| sendvec | send data, monolish vector (size N) |
| recvvec | recv data, monolish vector (size N / # of procs) |
| root | root rank number |
| void monolish::mpi::comm::Scatter | ( | std::vector< double > & | sendvec, |
| std::vector< double > & | recvvec, | ||
| int | root | ||
| ) | const |
MPI_Scatter, Sends data from one task to all tasks. The data is evenly divided and transmitted to each process.
| sendvec | send data, std::vector (size N) |
| recvvec | recv data, std::vector (size N / # of procs) |
| root | root rank number |
| void monolish::mpi::comm::Scatter | ( | std::vector< float > & | sendvec, |
| std::vector< float > & | recvvec, | ||
| int | root | ||
| ) | const |
MPI_Scatter, Sends data from one task to all tasks. The data is evenly divided and transmitted to each process.
| sendvec | send data, std::vector (size N) |
| recvvec | recv data, std::vector (size N / # of procs) |
| root | root rank number |
| void monolish::mpi::comm::Scatter | ( | std::vector< int > & | sendvec, |
| std::vector< int > & | recvvec, | ||
| int | root | ||
| ) | const |
MPI_Scatter, Sends data from one task to all tasks. The data is evenly divided and transmitted to each process.
| sendvec | send data, std::vector (size N) |
| recvvec | recv data, std::vector (size N / # of procs) |
| root | root rank number |
| void monolish::mpi::comm::Scatter | ( | std::vector< size_t > & | sendvec, |
| std::vector< size_t > & | recvvec, | ||
| int | root | ||
| ) | const |
MPI_Scatter, Sends data from one task to all tasks. The data is evenly divided and transmitted to each process.
| sendvec | send data, std::vector (size N) |
| recvvec | recv data, std::vector (size N / # of procs) |
| root | root rank number |
| void monolish::mpi::comm::Send | ( | double | val, |
| int | dst, | ||
| int | tag | ||
| ) | const |
MPI_Send for scalar. Performs a blocking send.
| val | scalar value |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Send | ( | float | val, |
| int | dst, | ||
| int | tag | ||
| ) | const |
MPI_Send for scalar. Performs a blocking send.
| val | scalar value |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Send | ( | int | val, |
| int | dst, | ||
| int | tag | ||
| ) | const |
MPI_Send for scalar. Performs a blocking send.
| val | scalar value |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Send | ( | monolish::vector< double > & | vec, |
| int | dst, | ||
| int | tag | ||
| ) | const |
MPI_Send for monolish::vector. Performs a blocking send.
| vec | monolish::vector (size N) |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Send | ( | monolish::vector< float > & | vec, |
| int | dst, | ||
| int | tag | ||
| ) | const |
MPI_Send for monolish::vector. Performs a blocking send.
| vec | monolish::vector (size N) |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Send | ( | size_t | val, |
| int | dst, | ||
| int | tag | ||
| ) | const |
MPI_Send for scalar. Performs a blocking send.
| val | scalar value |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Send | ( | std::vector< double > & | vec, |
| int | dst, | ||
| int | tag | ||
| ) | const |
MPI_Send for std::vector. Performs a blocking send.
| vec | std::vector (size N) |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Send | ( | std::vector< float > & | vec, |
| int | dst, | ||
| int | tag | ||
| ) | const |
MPI_Send for std::vector. Performs a blocking send.
| vec | std::vector (size N) |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Send | ( | std::vector< int > & | vec, |
| int | dst, | ||
| int | tag | ||
| ) | const |
MPI_Send for std::vector. Performs a blocking send.
| vec | std::vector (size N) |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::Send | ( | std::vector< size_t > & | vec, |
| int | dst, | ||
| int | tag | ||
| ) | const |
MPI_Send for std::vector. Performs a blocking send.
| vec | std::vector (size N) |
| dst | rank of destination |
| tag | message tag |
| void monolish::mpi::comm::set_comm | ( | MPI_Comm | external_comm | ) |
set communicator
| void monolish::mpi::comm::Waitall | ( | ) |
Waits for all communications to complete.
|
private |
MPI communicator, MPI_COMM_WORLD.
Definition at line 27 of file monolish_mpi_core.hpp.
|
private |
Definition at line 31 of file monolish_mpi_core.hpp.