|
Medial Code Documentation
|
This file defines the core interface of rabit library. More...
Go to the source code of this file.
Data Structures | |
| class | rabit::engine::IEngine |
| interface of core Allreduce engine More... | |
Namespaces | |
| namespace | rabit |
| namespace of rabit | |
| namespace | rabit::engine |
| core interface of the engine | |
| namespace | rabit::engine::mpi |
| namespace that contains stubs to be compatible with MPI | |
Enumerations | |
| enum | rabit::engine::mpi::OpType { kMax = 0 , kMin = 1 , kSum = 2 , kBitwiseAND = 3 , kBitwiseOR = 4 , kBitwiseXOR = 5 } |
| enum of all operators | |
| enum | rabit::engine::mpi::DataType { kChar = 0 , kUChar = 1 , kInt = 2 , kUInt = 3 , kLong = 4 , kULong = 5 , kFloat = 6 , kDouble = 7 , kLongLong = 8 , kULongLong = 9 } |
| enum of supported data types | |
Functions | |
| bool | rabit::engine::Init (int argc, char *argv[]) |
| initializes the engine module | |
| bool | rabit::engine::Finalize () |
| finalizes the engine module | |
| IEngine * | rabit::engine::GetEngine () |
| singleton method to get 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. | |
| void | rabit::engine::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 | |
This file defines the core interface of rabit library.
Copyright (c) 2014 by Contributors