|
| bool | Init (int argc, char *argv[]) |
| | initializes the engine module
|
| |
| bool | Finalize () |
| | finalizes the engine module
|
| |
|
IEngine * | GetEngine () |
| | singleton method to get engine
|
| |
| void | Allgather (void *sendrecvbuf, size_t total_size, size_t slice_begin, size_t slice_end, size_t size_prev_slice) |
| | Allgather function, each node have a segment of data in the ring of sendrecvbuf, the data provided by current node k is [slice_begin, slice_end), the next node's segment must start with slice_end after the call of Allgather, sendrecvbuf_ contains all the contents including all segments use a ring based algorithm.
|
| |
| void | Allreduce_ (void *sendrecvbuf, size_t type_nbytes, size_t count, IEngine::ReduceFunction red, mpi::DataType dtype, mpi::OpType op, IEngine::PreprocFunction prepare_fun=nullptr, void *prepare_arg=nullptr) |
| | perform in-place Allreduce, on sendrecvbuf this is an internal function used by rabit to be able to compile with MPI do not use this function directly
|
| |
|
size_t | ParseUnit (const char *name, const char *val) |
| |
|
MPI::Datatype | GetType (mpi::DataType dtype) |
| |
|
MPI::Op | GetOp (mpi::OpType otype) |
| |
core interface of the engine
| void rabit::engine::Allgather |
( |
void * |
sendrecvbuf, |
|
|
size_t |
total_size, |
|
|
size_t |
slice_begin, |
|
|
size_t |
slice_end, |
|
|
size_t |
size_prev_slice |
|
) |
| |
Allgather function, each node have a segment of data in the ring of sendrecvbuf, the data provided by current node k is [slice_begin, slice_end), the next node's segment must start with slice_end after the call of Allgather, sendrecvbuf_ contains all the contents including all segments use a ring based algorithm.
- Parameters
-
| sendrecvbuf | buffer for both sending and receiving data, it is a ring conceptually |
| total_size | total size of data to be gathered |
| slice_begin | beginning of the current slice |
| slice_end | end of the current slice |
| size_prev_slice | size of the previous slice i.e. slice of node (rank - 1) % world_size |