monolish
0.17.3-dev.16
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.