Enable OpenMP with Apple Clang (Mac default compiler) (#5146)
* Add OpenMP as CMake target * Require CMake 3.12, to allow linking OpenMP target to objxgboost * Specify OpenMP compiler flag for CUDA host compiler * Require CMake 3.16+ if the OS is Mac OSX * Use AppleClang in Mac tests. * Update dmlc-core
This commit is contained in:
committed by
Jiaming Yuan
parent
f3d7877802
commit
9b0af6e882
@@ -1,14 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
cp make/travis.mk config.mk
|
||||
make -f dmlc-core/scripts/packages.mk lz4
|
||||
|
||||
if [ ${TRAVIS_OS_NAME} == "osx" ]; then
|
||||
echo 'USE_OPENMP=0' >> config.mk
|
||||
fi
|
||||
source $HOME/miniconda/bin/activate
|
||||
|
||||
if [ ${TASK} == "python_test" ]; then
|
||||
make all || exit -1
|
||||
set -e
|
||||
# Build/test
|
||||
rm -rf build
|
||||
mkdir build && cd build
|
||||
cmake .. -DUSE_OPENMP=ON -DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
make -j$(nproc)
|
||||
cd ..
|
||||
|
||||
echo "-------------------------------"
|
||||
conda activate python3
|
||||
python --version
|
||||
@@ -42,8 +46,8 @@ if [ ${TASK} == "cmake_test" ]; then
|
||||
rm -rf build
|
||||
mkdir build && cd build
|
||||
PLUGINS="-DPLUGIN_LZ4=ON -DPLUGIN_DENSE_PARSER=ON"
|
||||
CC=gcc-9 CXX=g++-9 cmake .. -DGOOGLE_TEST=ON -DUSE_OPENMP=ON -DUSE_DMLC_GTEST=ON ${PLUGINS}
|
||||
make
|
||||
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DGOOGLE_TEST=ON -DUSE_OPENMP=ON -DUSE_DMLC_GTEST=ON ${PLUGINS}
|
||||
make -j$(nproc)
|
||||
./testxgboost
|
||||
cd ..
|
||||
rm -rf build
|
||||
|
||||
@@ -4,11 +4,11 @@ if [ ${TASK} == "python_test" ]; then
|
||||
if [ ${TRAVIS_OS_NAME} == "osx" ]; then
|
||||
wget -O conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
|
||||
else
|
||||
echo "We are no longer running Linux test on Travis."
|
||||
echo "We are no longer running Linux test on Travis."
|
||||
exit 1
|
||||
fi
|
||||
bash conda.sh -b -p $HOME/miniconda
|
||||
export PATH="$HOME/miniconda/bin:$PATH"
|
||||
source $HOME/miniconda/bin/activate
|
||||
hash -r
|
||||
conda config --set always_yes yes --set changeps1 no
|
||||
conda update -q conda
|
||||
|
||||
Reference in New Issue
Block a user