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