#include "mpi.h"
#include "binUtils.h"
#include "dtypes.h"
#include "parUtils.h"
Go to the source code of this file.
|
| par |
| Collection of Generic Parallel Functions: Sorting, Partitioning, Searching,...
|
|
|
unsigned int | par::splitCommBinary (MPI_Comm orig_comm, MPI_Comm *new_comm) |
| Splits a communication group into two, the first having a power of 2 number of processors and the other having the remainder. The first group is sorted in the ascending order of their ranks in the old comm and the second group is sorted in the descending order of their ranks in the old comm. More...
|
|
unsigned int | par::splitCommBinaryNoFlip (MPI_Comm orig_comm, MPI_Comm *new_comm) |
| Splits a communication group into two, the first having a power of 2 number of processors and the other having the remainder. Both the groups are sorted in the ascending order of their ranks in the old comm. More...
|
|
int | par::splitComm2way (bool iAmEmpty, MPI_Comm *new_comm, MPI_Comm orig_comm) |
| Splits a communication group into two, one containing processors that passed a value of 'false' for the parameter 'iAmEmpty' and the another containing processors that passed a value of 'true' for the parameter. Both the groups are sorted in the ascending order of their ranks in the old comm. More...
|
|
int | par::splitCommUsingSplittingRank (int splittingRank, MPI_Comm *new_comm, MPI_Comm orig_comm) |
|
int | par::splitComm2way (const bool *isEmptyList, MPI_Comm *new_comm, MPI_Comm orig_comm) |
| Splits a communication group into two depending on the values in isEmptyList. Both the groups are sorted in the ascending order of their ranks in the old comm. All processors must call this function with the same 'isEmptyList' array. More...
|
|
int | par::AdjustCommunicationPattern (std::vector< int > &send_sizes, std::vector< int > &send_partners, std::vector< int > &recv_sizes, std::vector< int > &recv_partners, MPI_Comm comm) |
|