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

this file governs which implementation of engine we are actually using provides an singleton of engine interface More...

#include <rabit/base.h>
#include <dmlc/thread_local.h>
#include <memory>
#include "rabit/internal/engine.h"
#include "allreduce_base.h"

Go to the source code of this file.

Data Structures

struct  rabit::engine::ThreadLocalEntry
 entry to to easily hold returning information More...
 

Namespaces

namespace  rabit
 namespace of rabit
 
namespace  rabit::engine
 core interface of the engine
 

Typedefs

using rabit::engine::Manager = AllreduceBase
 
using rabit::engine::EngineThreadLocal = dmlc::ThreadLocalStore< ThreadLocalEntry >
 

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 governs which implementation of engine we are actually using provides an singleton of engine interface

Copyright (c) 2014 by Contributors

Author
Tianqi Chen, Ignacio Cano, Tianyi Zhou