|
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).
1.8.18