add engine base
This commit is contained in:
parent
a98720ebc9
commit
fe6366eb40
8
Makefile
8
Makefile
@ -10,13 +10,13 @@ BPATH=.
|
|||||||
# objectives that makes up rabit library
|
# objectives that makes up rabit library
|
||||||
MPIOBJ= $(BPATH)/engine_mpi.o
|
MPIOBJ= $(BPATH)/engine_mpi.o
|
||||||
OBJ= $(BPATH)/allreduce_base.o $(BPATH)/allreduce_robust.o $(BPATH)/engine.o $(BPATH)/engine_empty.o $(BPATH)/engine_mock.o\
|
OBJ= $(BPATH)/allreduce_base.o $(BPATH)/allreduce_robust.o $(BPATH)/engine.o $(BPATH)/engine_empty.o $(BPATH)/engine_mock.o\
|
||||||
$(BPATH)/rabit_wrapper.o
|
$(BPATH)/rabit_wrapper.o $(BPATH)/engine_base.o
|
||||||
SLIB= wrapper/librabit_wrapper.so wrapper/librabit_wrapper_mock.so wrapper/librabit_wrapper_mpi.so
|
SLIB= wrapper/librabit_wrapper.so wrapper/librabit_wrapper_mock.so wrapper/librabit_wrapper_mpi.so
|
||||||
ALIB= lib/librabit.a lib/librabit_mpi.a lib/librabit_empty.a lib/librabit_mock.a
|
ALIB= lib/librabit.a lib/librabit_mpi.a lib/librabit_empty.a lib/librabit_mock.a lib/librabit_base.a
|
||||||
HEADERS=src/*.h include/*.h include/rabit/*.h
|
HEADERS=src/*.h include/*.h include/rabit/*.h
|
||||||
.PHONY: clean all install mpi python
|
.PHONY: clean all install mpi python
|
||||||
|
|
||||||
all: lib/librabit.a lib/librabit_mock.a wrapper/librabit_wrapper.so wrapper/librabit_wrapper_mock.so
|
all: lib/librabit.a lib/librabit_mock.a wrapper/librabit_wrapper.so wrapper/librabit_wrapper_mock.so
|
||||||
mpi: lib/librabit_mpi.a wrapper/librabit_wrapper_mpi.so
|
mpi: lib/librabit_mpi.a wrapper/librabit_wrapper_mpi.so
|
||||||
python: wrapper/librabit_wrapper.so wrapper/librabit_wrapper_mock.so
|
python: wrapper/librabit_wrapper.so wrapper/librabit_wrapper_mock.so
|
||||||
|
|
||||||
@ -26,8 +26,10 @@ $(BPATH)/allreduce_robust.o: src/allreduce_robust.cc $(HEADERS)
|
|||||||
$(BPATH)/engine_mpi.o: src/engine_mpi.cc $(HEADERS)
|
$(BPATH)/engine_mpi.o: src/engine_mpi.cc $(HEADERS)
|
||||||
$(BPATH)/engine_empty.o: src/engine_empty.cc $(HEADERS)
|
$(BPATH)/engine_empty.o: src/engine_empty.cc $(HEADERS)
|
||||||
$(BPATH)/engine_mock.o: src/engine_mock.cc $(HEADERS)
|
$(BPATH)/engine_mock.o: src/engine_mock.cc $(HEADERS)
|
||||||
|
$(BPATH)/engine_base.o: src/engine_base.cc $(HEADERS)
|
||||||
|
|
||||||
lib/librabit.a: $(BPATH)/allreduce_base.o $(BPATH)/allreduce_robust.o $(BPATH)/engine.o
|
lib/librabit.a: $(BPATH)/allreduce_base.o $(BPATH)/allreduce_robust.o $(BPATH)/engine.o
|
||||||
|
lib/librabit_base.a: $(BPATH)/allreduce_base.o $(BPATH)/engine_base.o
|
||||||
lib/librabit_mock.a: $(BPATH)/allreduce_base.o $(BPATH)/allreduce_robust.o $(BPATH)/engine_mock.o
|
lib/librabit_mock.a: $(BPATH)/allreduce_base.o $(BPATH)/allreduce_robust.o $(BPATH)/engine_mock.o
|
||||||
lib/librabit_empty.a: $(BPATH)/engine_empty.o
|
lib/librabit_empty.a: $(BPATH)/engine_empty.o
|
||||||
lib/librabit_mpi.a: $(MPIOBJ)
|
lib/librabit_mpi.a: $(MPIOBJ)
|
||||||
|
|||||||
@ -17,11 +17,15 @@
|
|||||||
namespace rabit {
|
namespace rabit {
|
||||||
namespace engine {
|
namespace engine {
|
||||||
// singleton sync manager
|
// singleton sync manager
|
||||||
|
#ifndef RABIT_USE_BASE
|
||||||
#ifndef RABIT_USE_MOCK
|
#ifndef RABIT_USE_MOCK
|
||||||
AllreduceRobust manager;
|
AllreduceRobust manager;
|
||||||
#else
|
#else
|
||||||
AllreduceMock manager;
|
AllreduceMock manager;
|
||||||
#endif
|
#endif
|
||||||
|
#else
|
||||||
|
AllreduceBase manager;
|
||||||
|
#endif
|
||||||
|
|
||||||
/*! \brief intiialize the synchronization module */
|
/*! \brief intiialize the synchronization module */
|
||||||
void Init(int argc, char *argv[]) {
|
void Init(int argc, char *argv[]) {
|
||||||
|
|||||||
15
src/engine_base.cc
Normal file
15
src/engine_base.cc
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
/*!
|
||||||
|
* Copyright (c) 2014 by Contributors
|
||||||
|
* \file engine_mock.cc
|
||||||
|
* \brief this is an engine implementation that will
|
||||||
|
* insert failures in certain call point, to test if the engine is robust to failure
|
||||||
|
* \author Tianqi Chen
|
||||||
|
*/
|
||||||
|
// define use MOCK, os we will use mock Manager
|
||||||
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
|
#define _CRT_SECURE_NO_DEPRECATE
|
||||||
|
#define NOMINMAX
|
||||||
|
// switch engine to AllreduceMock
|
||||||
|
#define RABIT_USE_BASE
|
||||||
|
#include "./engine.cc"
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user