Helper for optimally dividing a specified number of (equal) tasks over MPI. More...
#include <MPIUtil.h>
Public Member Functions | |
TaskDivision (size_t nTasks=0, const MPIUtil *mpiUtil=0) | |
void | init (size_t nTasks, const MPIUtil *mpiUtil) |
size_t | start () const |
Task number that current process should start on. | |
size_t | stop () const |
Task number that current process should stop before (non-inclusive) | |
size_t | start (int iProc) const |
Task number that the specified process should start on. | |
size_t | stop (int iProc) const |
Task number that the specified process should stop before (non-inclusive) | |
bool | isMine (size_t task) const |
Whether current process handle this task number. | |
template<typename T > | |
void | myRange (T &start, T &stop) const |
retrieve range of processes for current task (templated to support other integer types for task range) | |
int | whose (size_t task) const |
Which process number should handle this task number. | |
Helper for optimally dividing a specified number of (equal) tasks over MPI.