De-duplicate macro _CRT_SECURE_NO_WARNINGS / _CRT_SECURE_NO_DEPRECATE (#136)

* De-duplicate macro _CRT_SECURE_NO_WARNINGS / _CRT_SECURE_NO_DEPRECATE

* Move all macros to base.h

* Fix CI
This commit is contained in:
Philip Hyunsu Cho 2020-06-28 09:51:50 -07:00 committed by GitHub
parent 8fe7f5dc43
commit 74bf00a5ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 61 additions and 39 deletions

19
include/rabit/base.h Normal file
View File

@ -0,0 +1,19 @@
/*!
* Copyright (c) 2020 by Contributors
* \file base.h
* \brief Macros common to all headers
*
* \author Hyunsu Cho
*/
#ifndef RABIT_BASE_H_
#define RABIT_BASE_H_
#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif // _CRT_SECURE_NO_WARNINGS
#ifndef _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_NO_DEPRECATE
#endif // _CRT_SECURE_NO_DEPRECATE
#endif // RABIT_BASE_H_

View File

@ -6,7 +6,8 @@
*/ */
#ifndef RABIT_INTERNAL_UTILS_H_ #ifndef RABIT_INTERNAL_UTILS_H_
#define RABIT_INTERNAL_UTILS_H_ #define RABIT_INTERNAL_UTILS_H_
#define _CRT_SECURE_NO_WARNINGS
#include <rabit/base.h>
#include <string.h> #include <string.h>
#include <cstdio> #include <cstdio>
#include <string> #include <string>

View File

@ -5,9 +5,3 @@ set -x
if [ ${TRAVIS_OS_NAME} != "osx" ]; then if [ ${TRAVIS_OS_NAME} != "osx" ]; then
exit 0 exit 0
fi fi
# Prevent clash between Python 2 and 3
brew unlink python@2
brew link --overwrite python
python3 -m pip install --upgrade pip

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
conda activate python3
conda --version
python --version
make -f test.mk RABIT_BUILD_DMLC=1 model_recover_10_10k || exit -1 make -f test.mk RABIT_BUILD_DMLC=1 model_recover_10_10k || exit -1
make -f test.mk RABIT_BUILD_DMLC=1 model_recover_10_10k_die_same || exit -1 make -f test.mk RABIT_BUILD_DMLC=1 model_recover_10_10k_die_same || exit -1
make -f test.mk RABIT_BUILD_DMLC=1 model_recover_10_10k_die_hard || exit -1 make -f test.mk RABIT_BUILD_DMLC=1 model_recover_10_10k_die_hard || exit -1

View File

@ -2,9 +2,24 @@
echo "Testing on: ${TRAVIS_OS_NAME}, Home directory: ${HOME}" echo "Testing on: ${TRAVIS_OS_NAME}, Home directory: ${HOME}"
pip3 install cpplint pylint urllib3 numpy cpplint # Install Miniconda
pip3 install websocket-client kubernetes if [ ${TRAVIS_OS_NAME} == "osx" ]; then
wget -O conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
else
wget -O conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
fi
bash conda.sh -b -p $HOME/miniconda
source $HOME/miniconda/bin/activate
conda config --set always_yes yes --set changeps1 no
conda update -q conda
conda info -a
conda create -n python3 python=3.7
conda activate python3
conda --version
python --version
# Install Python packages
conda install -c conda-forge numpy scipy urllib3 websocket-client
python -m pip install cpplint pylint kubernetes
# Install googletest under home directory # Install googletest under home directory
GTEST_VERSION=1.8.1 GTEST_VERSION=1.8.1
@ -27,7 +42,7 @@ make install
popd popd
if [ ${TRAVIS_OS_NAME} == "linux" ]; then if [ ${TRAVIS_OS_NAME} == "linux" ]; then
sudo apt-get install python3-pip tree sudo apt-get install tree
fi fi
if [ ${TRAVIS_OS_NAME} == "osx" ]; then if [ ${TRAVIS_OS_NAME} == "osx" ]; then

View File

@ -5,9 +5,8 @@
* *
* \author Tianqi Chen, Ignacio Cano, Tianyi Zhou * \author Tianqi Chen, Ignacio Cano, Tianyi Zhou
*/ */
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE
#define NOMINMAX #define NOMINMAX
#include <rabit/base.h>
#include <netinet/tcp.h> #include <netinet/tcp.h>
#include <cstring> #include <cstring>
#include <map> #include <map>

View File

@ -5,9 +5,8 @@
* *
* \author Tianqi Chen, Ignacio Cano, Tianyi Zhou * \author Tianqi Chen, Ignacio Cano, Tianyi Zhou
*/ */
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE
#define NOMINMAX #define NOMINMAX
#include <rabit/base.h>
#include <chrono> #include <chrono>
#include <thread> #include <thread>
#include <limits> #include <limits>

View File

@ -1,8 +1,6 @@
// Copyright by Contributors // Copyright by Contributors
// implementations in ctypes // implementations in ctypes
#define _CRT_SECURE_NO_WARNINGS #include <rabit/base.h>
#define _CRT_SECURE_NO_DEPRECATE
#include <cstring> #include <cstring>
#include <string> #include <string>
#include "rabit/rabit.h" #include "rabit/rabit.h"

View File

@ -6,10 +6,7 @@
* *
* \author Tianqi Chen, Ignacio Cano, Tianyi Zhou * \author Tianqi Chen, Ignacio Cano, Tianyi Zhou
*/ */
#define _CRT_SECURE_NO_WARNINGS #include <rabit/base.h>
#define _CRT_SECURE_NO_DEPRECATE
#define NOMINMAX
#include <memory> #include <memory>
#include "rabit/internal/engine.h" #include "rabit/internal/engine.h"
#include "allreduce_base.h" #include "allreduce_base.h"

View File

@ -6,9 +6,8 @@
* \author Tianqi Chen * \author Tianqi Chen
*/ */
// define use MOCK, os we will use mock Manager // define use MOCK, os we will use mock Manager
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE
#define NOMINMAX #define NOMINMAX
#include <rabit/base.h>
// switch engine to AllreduceMock // switch engine to AllreduceMock
#define RABIT_USE_BASE #define RABIT_USE_BASE
#include "engine.cc" #include "engine.cc"

View File

@ -6,10 +6,9 @@
* This is usually NOT needed, use engine_mpi or engine for real distributed version * This is usually NOT needed, use engine_mpi or engine for real distributed version
* \author Tianqi Chen * \author Tianqi Chen
*/ */
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE
#define NOMINMAX #define NOMINMAX
#include <rabit/base.h>
#include "rabit/internal/engine.h" #include "rabit/internal/engine.h"
namespace rabit { namespace rabit {

View File

@ -6,11 +6,10 @@
* \author Tianqi Chen * \author Tianqi Chen
*/ */
// define use MOCK, os we will use mock Manager // define use MOCK, os we will use mock Manager
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE
#define NOMINMAX #define NOMINMAX
// switch engine to AllreduceMock // switch engine to AllreduceMock
#define RABIT_USE_MOCK #define RABIT_USE_MOCK
#include <rabit/base.h>
#include "allreduce_mock.h" #include "allreduce_mock.h"
#include "engine.cc" #include "engine.cc"

View File

@ -6,11 +6,10 @@
* *
* \author Tianqi Chen * \author Tianqi Chen
*/ */
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE
#define NOMINMAX #define NOMINMAX
#include <cstdio> #include <rabit/base.h>
#include <mpi.h> #include <mpi.h>
#include <cstdio>
#include "rabit/internal/engine.h" #include "rabit/internal/engine.h"
#include "rabit/internal/utils.h" #include "rabit/internal/utils.h"

View File

@ -13,25 +13,25 @@ all: model_recover_10_10k model_recover_10_10k_die_same model_recover_10_10k_di
# this experiment test recovery with actually process exit, use keepalive to keep program alive # this experiment test recovery with actually process exit, use keepalive to keep program alive
model_recover_10_10k: model_recover_10_10k:
$(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 model_recover 10000 mock=0,0,1,0 mock=1,1,1,0 rabit_bootstrap_cache=true rabit_debug=true rabit_reduce_ring_mincount=1 rabit_timeout=true rabit_timeout_sec=5 python $(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 model_recover 10000 mock=0,0,1,0 mock=1,1,1,0 rabit_bootstrap_cache=true rabit_debug=true rabit_reduce_ring_mincount=1 rabit_timeout=true rabit_timeout_sec=5
model_recover_10_10k_die_same: model_recover_10_10k_die_same:
$(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 model_recover 10000 mock=0,0,1,0 mock=1,1,1,0 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 rabit_bootstrap_cache=1 python $(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 model_recover 10000 mock=0,0,1,0 mock=1,1,1,0 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 rabit_bootstrap_cache=1
model_recover_10_10k_die_hard: model_recover_10_10k_die_hard:
$(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 model_recover 10000 mock=0,0,1,0 mock=1,1,1,0 mock=1,1,1,1 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 mock=8,1,2,0 mock=4,1,3,0 rabit_bootstrap_cache=1 python $(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 model_recover 10000 mock=0,0,1,0 mock=1,1,1,0 mock=1,1,1,1 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 mock=8,1,2,0 mock=4,1,3,0 rabit_bootstrap_cache=1
local_recover_10_10k: local_recover_10_10k:
$(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 local_recover 10000 mock=0,0,1,0 mock=1,1,1,0 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 mock=1,1,1,1 python $(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 local_recover 10000 mock=0,0,1,0 mock=1,1,1,0 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 mock=1,1,1,1
pylocal_recover_10_10k: pylocal_recover_10_10k:
$(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 local_recover.py 10000 mock=0,0,1,0 mock=1,1,1,0 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 mock=1,1,1,1 python $(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 local_recover.py 10000 mock=0,0,1,0 mock=1,1,1,0 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 mock=1,1,1,1
lazy_recover_10_10k_die_hard: lazy_recover_10_10k_die_hard:
$(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 lazy_recover 10000 mock=0,0,1,0 mock=1,1,1,0 mock=1,1,1,1 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 mock=8,1,2,0 mock=4,1,3,0 python $(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 lazy_recover 10000 mock=0,0,1,0 mock=1,1,1,0 mock=1,1,1,1 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 mock=8,1,2,0 mock=4,1,3,0
lazy_recover_10_10k_die_same: lazy_recover_10_10k_die_same:
$(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 lazy_recover 10000 mock=0,0,1,0 mock=1,1,1,0 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 python $(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 --local-num-attempt=20 lazy_recover 10000 mock=0,0,1,0 mock=1,1,1,0 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0
ringallreduce_10_10k: ringallreduce_10_10k:
$(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 model_recover 10000 rabit_reduce_ring_mincount=10 python $(DMLC)/tracker/dmlc-submit --cluster local --num-workers=10 model_recover 10000 rabit_reduce_ring_mincount=10