Medial Code Documentation
Loading...
Searching...
No Matches
Data Structures | Namespaces | Enumerations | Functions
engine.h File Reference

This file defines the core interface of rabit library. More...

#include <string>
#include "rabit/serializable.h"

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
 
IEnginerabit::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
 

Detailed Description

This file defines the core interface of rabit library.

Copyright (c) 2014 by Contributors

Author
Tianqi Chen, Nacho, Tianyi