#include "REAL.H"
#include "Vector.H"
#include "MayDay.H"
#include "Misc.H"
#include "BaseNamespaceHeader.H"
#include "BaseNamespaceFooter.H"
#include "SPMDI.H"
Go to the source code of this file.
Classes | |
class | SerialTask |
Functions | |
int | reportMPIStats () |
int | procID () |
local process ID | |
int | CHprocID () |
unsigned int | numProc () |
number of parallel processes | |
void | barrier (void) |
all ranks wait here to sync-up | |
template<class T> | |
int | linearSize (const T &inputT) |
template<class T> | |
void | linearIn (T &a_outputT, const void *const inBuf) |
template<class T> | |
void | linearOut (void *const a_outBuf, const T &inputT) |
template<class T> | |
void | broadcast (T &a_inAndOut, int a_src) |
broadcast to every process | |
template<> | |
int | linearSize (const int &a_input) |
template<> | |
int | linearSize (const unsigned long long &a_input) |
template<> | |
void | linearIn (int &a_outputT, const void *const inBuf) |
template<> | |
void | linearIn (unsigned long long &a_outputT, const void *const inBuf) |
template<> | |
void | linearOut (void *const a_outBuf, const int &a_inputT) |
template<> | |
void | linearOut (void *const a_outBuf, const unsigned long long &a_inputT) |
template<> | |
int | linearSize (const long &a_input) |
template<> | |
void | linearIn (long &a_outputT, const void *const inBuf) |
template<> | |
void | linearOut (void *const a_outBuf, const long &a_inputT) |
template<> | |
int | linearSize (const unsigned long &a_input) |
template<> | |
void | linearIn (unsigned long &a_outputT, const void *const inBuf) |
template<> | |
void | linearOut (void *const a_outBuf, const unsigned long &a_inputT) |
template<> | |
int | linearSize (const float &a_input) |
template<> | |
int | linearSize (const double &a_input) |
template<> | |
void | linearIn (float &a_outputT, const void *const a_inBuf) |
template<> | |
void | linearIn (double &a_outputT, const void *const a_inBuf) |
template<> | |
void | linearOut (void *const a_outBuf, const float &a_inputT) |
template<> | |
void | linearOut (void *const a_outBuf, const double &a_inputT) |
template<> | |
int | linearSize (const Vector< int > &a_input) |
template<> | |
void | linearIn (Vector< int > &a_outputT, const void *const inBuf) |
template<> | |
void | linearOut (void *const a_outBuf, const Vector< int > &a_inputT) |
template<> | |
int | linearSize (const Vector< unsigned long long > &a_input) |
template<> | |
void | linearIn (Vector< unsigned long long > &a_outputT, const void *const inBuf) |
template<> | |
void | linearOut (void *const a_outBuf, const Vector< unsigned long long > &a_inputT) |
template<> | |
int | linearSize (const Vector< long > &a_input) |
template<> | |
void | linearIn (Vector< long > &a_outputT, const void *const inBuf) |
template<> | |
void | linearOut (void *const a_outBuf, const Vector< long > &a_inputT) |
template<> | |
int | linearSize (const Vector< float > &a_input) |
template<> | |
void | linearIn (Vector< float > &a_outputT, const void *const inBuf) |
template<> | |
void | linearOut (void *const a_outBuf, const Vector< float > &a_inputT) |
template<> | |
int | linearSize (const Vector< double > &a_input) |
template<> | |
void | linearIn (Vector< double > &a_outputT, const void *const inBuf) |
template<> | |
void | linearOut (void *const a_outBuf, const Vector< double > &a_inputT) |
template<> | |
int | linearSize (const Vector< Vector< int > > &a_input) |
template<> | |
void | linearIn (Vector< Vector< int > > &a_outputT, const void *const inBuf) |
template<> | |
void | linearOut (void *const a_outBuf, const Vector< Vector< int > > &a_inputT) |
template<class T> | |
int | linearListSize (const Vector< T > &a_input) |
template<class T> | |
void | linearListIn (Vector< T > &a_outputT, const void *const a_inBuf) |
template<class T> | |
void | linearListOut (void *const a_outBuf, const Vector< T > &a_inputT) |
int | GetPID (int rank) |
int | GetRank (int pid) |
int | uniqueProc (const SerialTask::task &a_task) |
Variables | |
int | num_procs |
long long | CH_MAX_MPI_MESSAGE_SIZE |
long long | CH_MaxMPISendSize |
long long | CH_MaxMPIRecvSize |
int reportMPIStats | ( | ) |
int procID | ( | ) |
local process ID
Returns the ID of the locally running process in the range 0 <= procID() < numProc(). This has no relation to the operating system pid. There is always a procID() == 0.
Referenced by CHprocID(), and MergeSolver< T >::solve().
int CHprocID | ( | ) | [inline] |
References procID().
unsigned int numProc | ( | ) |
number of parallel processes
Returns the number of parallel processes running. Always returns at least 1.
void barrier | ( | void | ) | [inline] |
all ranks wait here to sync-up
All MPI ranks wait here to sync-up. Calls MPI_Barrier(comm)
int linearSize | ( | const T & | inputT | ) | [inline] |
Referenced by MiniIVFAB< T >::linearIn(), MiniIFFAB< T >::linearIn(), IrregTag::Entry::linearIn(), BaseIVFAB< T >::linearIn(), BaseIFFAB< T >::linearIn(), linearListOut(), linearListSize(), MiniIVFAB< T >::linearOut(), MiniIFFAB< T >::linearOut(), IrregTag::Entry::linearOut(), BaseIVFAB< T >::linearOut(), BaseIFFAB< T >::linearOut(), MiniIVFAB< T >::size(), MiniIFFAB< T >::size(), BaseIVFAB< T >::size(), and BaseIFFAB< T >::size().
void linearIn | ( | T & | a_outputT, | |
const void *const | inBuf | |||
) | [inline] |
void linearOut | ( | void *const | a_outBuf, | |
const T & | inputT | |||
) | [inline] |
void broadcast | ( | T & | a_inAndOut, | |
int | a_src | |||
) | [inline] |
broadcast to every process
Broadcasts a_inAndOut to every process from process number a_src. It is an error if a_src < 0 or a_src >= numProc(). \
T must have have the following functions: \
int linearSize<T>(const T& inputT); \ void linearIn<T>(T& a_outputT, const void* const inBuf); \ void linearOut<T>(void* a_outBuf, const T& inputT); \
int linearSize | ( | const int & | a_input | ) | [inline] |
int linearSize | ( | const unsigned long long & | a_input | ) | [inline] |
void linearIn | ( | int & | a_outputT, | |
const void *const | inBuf | |||
) | [inline] |
void linearIn | ( | unsigned long long & | a_outputT, | |
const void *const | inBuf | |||
) | [inline] |
void linearOut | ( | void *const | a_outBuf, | |
const int & | a_inputT | |||
) | [inline] |
void linearOut | ( | void *const | a_outBuf, | |
const unsigned long long & | a_inputT | |||
) | [inline] |
int linearSize | ( | const long & | a_input | ) | [inline] |
void linearIn | ( | long & | a_outputT, | |
const void *const | inBuf | |||
) | [inline] |
void linearOut | ( | void *const | a_outBuf, | |
const long & | a_inputT | |||
) | [inline] |
int linearSize | ( | const unsigned long & | a_input | ) | [inline] |
void linearIn | ( | unsigned long & | a_outputT, | |
const void *const | inBuf | |||
) | [inline] |
void linearOut | ( | void *const | a_outBuf, | |
const unsigned long & | a_inputT | |||
) | [inline] |
int linearSize | ( | const float & | a_input | ) | [inline] |
int linearSize | ( | const double & | a_input | ) | [inline] |
void linearIn | ( | float & | a_outputT, | |
const void *const | a_inBuf | |||
) | [inline] |
void linearIn | ( | double & | a_outputT, | |
const void *const | a_inBuf | |||
) | [inline] |
void linearOut | ( | void *const | a_outBuf, | |
const float & | a_inputT | |||
) | [inline] |
void linearOut | ( | void *const | a_outBuf, | |
const double & | a_inputT | |||
) | [inline] |
int linearSize | ( | const Vector< int > & | a_input | ) | [inline] |
void linearIn | ( | Vector< int > & | a_outputT, | |
const void *const | inBuf | |||
) | [inline] |
void linearOut | ( | void *const | a_outBuf, | |
const Vector< int > & | a_inputT | |||
) | [inline] |
int linearSize | ( | const Vector< unsigned long long > & | a_input | ) | [inline] |
void linearIn | ( | Vector< unsigned long long > & | a_outputT, | |
const void *const | inBuf | |||
) | [inline] |
void linearOut | ( | void *const | a_outBuf, | |
const Vector< unsigned long long > & | a_inputT | |||
) | [inline] |
int linearSize | ( | const Vector< long > & | a_input | ) | [inline] |
void linearIn | ( | Vector< long > & | a_outputT, | |
const void *const | inBuf | |||
) | [inline] |
void linearOut | ( | void *const | a_outBuf, | |
const Vector< long > & | a_inputT | |||
) | [inline] |
int linearSize | ( | const Vector< float > & | a_input | ) | [inline] |
void linearIn | ( | Vector< float > & | a_outputT, | |
const void *const | inBuf | |||
) | [inline] |
void linearOut | ( | void *const | a_outBuf, | |
const Vector< float > & | a_inputT | |||
) | [inline] |
int linearSize | ( | const Vector< double > & | a_input | ) | [inline] |
void linearIn | ( | Vector< double > & | a_outputT, | |
const void *const | inBuf | |||
) | [inline] |
void linearOut | ( | void *const | a_outBuf, | |
const Vector< double > & | a_inputT | |||
) | [inline] |
void linearOut | ( | void *const | a_outBuf, | |
const Vector< Vector< int > > & | a_inputT | |||
) | [inline] |
int linearListSize | ( | const Vector< T > & | a_input | ) | [inline] |
References linearSize(), and Vector< T >::size().
Referenced by MiniIFFAB< T >::linearIn(), BaseIVFAB< T >::linearIn(), BaseIFFAB< T >::linearIn(), MiniIFFAB< T >::linearOut(), BaseIVFAB< T >::linearOut(), BaseIFFAB< T >::linearOut(), IrregTag::Entry::linearSize(), MiniIFFAB< T >::size(), BaseIVFAB< T >::size(), and BaseIFFAB< T >::size().
void linearListIn | ( | Vector< T > & | a_outputT, | |
const void *const | a_inBuf | |||
) | [inline] |
References linearIn(), and Vector< T >::resize().
Referenced by MiniIFFAB< T >::linearIn(), BaseIVFAB< T >::linearIn(), and BaseIFFAB< T >::linearIn().
void linearListOut | ( | void *const | a_outBuf, | |
const Vector< T > & | a_inputT | |||
) | [inline] |
References linearOut(), linearSize(), and Vector< T >::size().
Referenced by MiniIFFAB< T >::linearOut(), BaseIVFAB< T >::linearOut(), and BaseIFFAB< T >::linearOut().
int GetPID | ( | int | rank | ) |
int GetRank | ( | int | pid | ) |
int uniqueProc | ( | const SerialTask::task & | a_task | ) |
int num_procs |
long long CH_MAX_MPI_MESSAGE_SIZE |
long long CH_MaxMPISendSize |
long long CH_MaxMPIRecvSize |