Namespaces | |
| namespace | belfem |
| USER GUIDES: | |
Functions | |
| proc_t | belfem::comm_size () |
| proc_t | belfem::comm_rank () |
| void | belfem::comm_check (const int aErrorCode) |
| Any code other than MPI_SUCCESS aborts through BELFEM_ERROR ( release too ), which ends the whole run with MPI_Abort on the world communicator. | |
| void | belfem::comm_barrier () |
| Collective: every rank must reach it before any rank passes it. | |
| void | belfem::comm_abort (const int aErrorCode=1) |
| Kill the whole job. | |
| int | belfem::comm_tag (const proc_t aSource, const proc_t aTarget) |
| The base tag of an unordered rank pair. | |
| void | belfem::comm_drain_check (const char *aLabel) |
| Debug-build tripwire for the two-tags-per-pair ordering contract of the point-to-point fabric ( see comm_tag() in commtools.cpp ). | |
| Cell< int > | belfem::comm_split (const index_t aLength) |
| Local, it does not communicate: splits aLength into chunks of at most gMaxCommChunkLength. | |
| index_t | belfem::comm_splitcount (const Vector< index_t > &aLengths, const proc_t aRoot) |
| Local, it does not communicate despite aRoot: the number of chunk messages comm_split() would produce for every rank but aRoot. | |
| index_t | belfem::comm_splitcount (index_t aLength) |
| void | belfem::broadcast (Cell< string > &aData, const proc_t aRoot=0) |
| Collective: every rank calls it, and aRoot's data lands on all ranks. | |
| void | belfem::send (const string &aMessage, const proc_t aTarget=0) |
| Same contract as send( T ). | |
| void | belfem::receive (string &aMessage, const proc_t aSource=0) |
| Same contract as receive( T& ). | |