ParGeMSLR
|
The data structure for parallel computing, including data structures for MPI and CUDA. More...
#include <parallel.hpp>
Public Member Functions | |
int | Clear () |
Free the parallel_log. More... | |
ParallelLogClass () | |
The default constructor of parallel_log. More... | |
ParallelLogClass (const ParallelLogClass &parlog) | |
The copy constructor of parallel_log. More... | |
ParallelLogClass (ParallelLogClass &&parlog) | |
The = operator of parallel_log. More... | |
ParallelLogClass & | operator= (const ParallelLogClass &parlog) |
The = operator of parallel_log. More... | |
ParallelLogClass & | operator= (ParallelLogClass &&parlog) |
The = operator of parallel_log. More... | |
ParallelLogClass (MPI_Comm comm_in) | |
The constructor of parallel_log, setup a new local comm. More... | |
~ParallelLogClass () | |
The destructor of parallel_log. More... | |
int | GetMpiInfo (int &np, int &myid, MPI_Comm &comm) const |
Get comm, np, and myid. When _comm is NULL, get the global one, otherwise get the local one. More... | |
MPI_Comm | GetComm () const |
Get the MPI_comm. When _comm is NULL, get the global one, otherwise get the local one. More... | |
Public Attributes | |
int | _size |
The total number of local MPI ranks. More... | |
int | _rank |
The number of local MPI rank. More... | |
MPI_Comm | _commref |
The MPI comm that doesn't need to be freed. More... | |
MPI_Comm * | _comm |
The local MPI comm. More... | |
Static Public Attributes | |
static int | _working_location |
The working location of the code (device/host). More... | |
static int | _gsize |
The total number of global MPI ranks. More... | |
static int | _grank |
The number of global MPI rank. More... | |
static MPI_Comm * | _gcomm |
The global MPI comm. More... | |
static MPI_Comm * | _lcomm |
The local MPI comm (one np only, for consistancy). More... | |
static vector< double > | _times |
The std::vector stores the timing information. More... | |
static vector< double > | _times_buffer_start |
The std::vector stores the start time of each section. More... | |
static vector< double > | _times_buffer_end |
The std::vector stores the end time of each section. More... | |
The data structure for parallel computing, including data structures for MPI and CUDA.
All CUDA information are shared, local MPI information can be different.
pargemslr::ParallelLogClass::ParallelLogClass | ( | ) |
The default constructor of parallel_log.
pargemslr::ParallelLogClass::ParallelLogClass | ( | const ParallelLogClass & | parlog | ) |
The copy constructor of parallel_log.
pargemslr::ParallelLogClass::ParallelLogClass | ( | ParallelLogClass && | parlog | ) |
The = operator of parallel_log.
[in] | parlog | The ParallelLogClass. |
pargemslr::ParallelLogClass::ParallelLogClass | ( | MPI_Comm | comm_in | ) |
The constructor of parallel_log, setup a new local comm.
[in] | comm_in | The new comm. |
pargemslr::ParallelLogClass::~ParallelLogClass | ( | ) |
The destructor of parallel_log.
int pargemslr::ParallelLogClass::Clear | ( | ) |
Free the parallel_log.
MPI_Comm pargemslr::ParallelLogClass::GetComm | ( | ) | const |
Get the MPI_comm. When _comm is NULL, get the global one, otherwise get the local one.
int pargemslr::ParallelLogClass::GetMpiInfo | ( | int & | np, |
int & | myid, | ||
MPI_Comm & | comm | ||
) | const |
Get comm, np, and myid. When _comm is NULL, get the global one, otherwise get the local one.
[in] | np | The number of processors. |
[in] | myid | The local MPI rank number. |
[in] | comm | The MPI_Comm. |
ParallelLogClass& pargemslr::ParallelLogClass::operator= | ( | const ParallelLogClass & | parlog | ) |
The = operator of parallel_log.
[in] | parlog | The ParallelLogClass. |
ParallelLogClass& pargemslr::ParallelLogClass::operator= | ( | ParallelLogClass && | parlog | ) |
The = operator of parallel_log.
[in] | parlog | The ParallelLogClass. |
MPI_Comm* pargemslr::ParallelLogClass::_comm |
The local MPI comm.
MPI_Comm pargemslr::ParallelLogClass::_commref |
The MPI comm that doesn't need to be freed.
|
static |
The global MPI comm.
|
static |
The number of global MPI rank.
|
static |
The total number of global MPI ranks.
|
static |
The local MPI comm (one np only, for consistancy).
int pargemslr::ParallelLogClass::_rank |
The number of local MPI rank.
int pargemslr::ParallelLogClass::_size |
The total number of local MPI ranks.
|
static |
The std::vector stores the timing information.
|
static |
The std::vector stores the end time of each section.
|
static |
The std::vector stores the start time of each section.
|
static |
The working location of the code (device/host).