C++14 for xgboost (#5664)
This commit is contained in:
parent
60511a3222
commit
646def51e0
@ -112,7 +112,7 @@ endif (USE_OPENMP)
|
|||||||
msvc_use_static_runtime()
|
msvc_use_static_runtime()
|
||||||
add_subdirectory(${xgboost_SOURCE_DIR}/dmlc-core)
|
add_subdirectory(${xgboost_SOURCE_DIR}/dmlc-core)
|
||||||
set_target_properties(dmlc PROPERTIES
|
set_target_properties(dmlc PROPERTIES
|
||||||
CXX_STANDARD 11
|
CXX_STANDARD 14
|
||||||
CXX_STANDARD_REQUIRED ON
|
CXX_STANDARD_REQUIRED ON
|
||||||
POSITION_INDEPENDENT_CODE ON)
|
POSITION_INDEPENDENT_CODE ON)
|
||||||
list(APPEND LINKED_LIBRARIES_PRIVATE dmlc)
|
list(APPEND LINKED_LIBRARIES_PRIVATE dmlc)
|
||||||
@ -195,7 +195,7 @@ target_link_libraries(runxgboost PRIVATE ${LINKED_LIBRARIES_PRIVATE})
|
|||||||
set_target_properties(
|
set_target_properties(
|
||||||
runxgboost PROPERTIES
|
runxgboost PROPERTIES
|
||||||
OUTPUT_NAME xgboost
|
OUTPUT_NAME xgboost
|
||||||
CXX_STANDARD 11
|
CXX_STANDARD 14
|
||||||
CXX_STANDARD_REQUIRED ON)
|
CXX_STANDARD_REQUIRED ON)
|
||||||
#-- End CLI for xgboost
|
#-- End CLI for xgboost
|
||||||
|
|
||||||
|
|||||||
2
Makefile
2
Makefile
@ -44,7 +44,7 @@ export CXX = g++
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
export CFLAGS= -DDMLC_LOG_CUSTOMIZE=1 -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude $(ADD_CFLAGS)
|
export CFLAGS= -DDMLC_LOG_CUSTOMIZE=1 -std=c++14 -Wall -Wno-unknown-pragmas -Iinclude $(ADD_CFLAGS)
|
||||||
CFLAGS += -I$(DMLC_CORE)/include -I$(RABIT)/include -I$(GTEST_PATH)/include
|
CFLAGS += -I$(DMLC_CORE)/include -I$(RABIT)/include -I$(GTEST_PATH)/include
|
||||||
|
|
||||||
ifeq ($(TEST_COVER), 1)
|
ifeq ($(TEST_COVER), 1)
|
||||||
|
|||||||
@ -25,7 +25,7 @@ target_include_directories(xgboost-r
|
|||||||
${PROJECT_SOURCE_DIR}/rabit/include)
|
${PROJECT_SOURCE_DIR}/rabit/include)
|
||||||
set_target_properties(
|
set_target_properties(
|
||||||
xgboost-r PROPERTIES
|
xgboost-r PROPERTIES
|
||||||
CXX_STANDARD 11
|
CXX_STANDARD 14
|
||||||
CXX_STANDARD_REQUIRED ON
|
CXX_STANDARD_REQUIRED ON
|
||||||
POSITION_INDEPENDENT_CODE ON)
|
POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|
||||||
|
|||||||
@ -64,4 +64,4 @@ Imports:
|
|||||||
magrittr (>= 1.5),
|
magrittr (>= 1.5),
|
||||||
stringi (>= 0.5.2)
|
stringi (>= 0.5.2)
|
||||||
RoxygenNote: 7.1.0
|
RoxygenNote: 7.1.0
|
||||||
SystemRequirements: GNU make, C++11
|
SystemRequirements: GNU make, C++14
|
||||||
|
|||||||
@ -3,7 +3,7 @@ PKGROOT=../../
|
|||||||
ENABLE_STD_THREAD=1
|
ENABLE_STD_THREAD=1
|
||||||
# _*_ mode: Makefile; _*_
|
# _*_ mode: Makefile; _*_
|
||||||
|
|
||||||
CXX_STD = CXX11
|
CXX_STD = CXX14
|
||||||
|
|
||||||
XGB_RFLAGS = -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0\
|
XGB_RFLAGS = -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0\
|
||||||
-DDMLC_ENABLE_STD_THREAD=$(ENABLE_STD_THREAD) -DDMLC_DISABLE_STDIN=1\
|
-DDMLC_ENABLE_STD_THREAD=$(ENABLE_STD_THREAD) -DDMLC_DISABLE_STDIN=1\
|
||||||
|
|||||||
@ -15,7 +15,7 @@ xgblib:
|
|||||||
cp -r ../../include .
|
cp -r ../../include .
|
||||||
cp -r ../../amalgamation .
|
cp -r ../../amalgamation .
|
||||||
|
|
||||||
CXX_STD = CXX11
|
CXX_STD = CXX14
|
||||||
|
|
||||||
XGB_RFLAGS = -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0\
|
XGB_RFLAGS = -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0\
|
||||||
-DDMLC_ENABLE_STD_THREAD=$(ENABLE_STD_THREAD) -DDMLC_DISABLE_STDIN=1\
|
-DDMLC_ENABLE_STD_THREAD=$(ENABLE_STD_THREAD) -DDMLC_DISABLE_STDIN=1\
|
||||||
|
|||||||
@ -14,7 +14,7 @@ target_include_directories(xgboost4j
|
|||||||
set_output_directory(xgboost4j ${PROJECT_SOURCE_DIR}/lib)
|
set_output_directory(xgboost4j ${PROJECT_SOURCE_DIR}/lib)
|
||||||
set_target_properties(
|
set_target_properties(
|
||||||
xgboost4j PROPERTIES
|
xgboost4j PROPERTIES
|
||||||
CXX_STANDARD 11
|
CXX_STANDARD 14
|
||||||
CXX_STANDARD_REQUIRED ON)
|
CXX_STANDARD_REQUIRED ON)
|
||||||
target_link_libraries(xgboost4j
|
target_link_libraries(xgboost4j
|
||||||
PRIVATE
|
PRIVATE
|
||||||
|
|||||||
@ -14,7 +14,6 @@ if (USE_CUDA)
|
|||||||
$<$<COMPILE_LANGUAGE:CUDA>:--expt-extended-lambda>
|
$<$<COMPILE_LANGUAGE:CUDA>:--expt-extended-lambda>
|
||||||
$<$<COMPILE_LANGUAGE:CUDA>:--expt-relaxed-constexpr>
|
$<$<COMPILE_LANGUAGE:CUDA>:--expt-relaxed-constexpr>
|
||||||
$<$<COMPILE_LANGUAGE:CUDA>:-lineinfo>
|
$<$<COMPILE_LANGUAGE:CUDA>:-lineinfo>
|
||||||
$<$<AND:$<NOT:$<CXX_COMPILER_ID:MSVC>>,$<COMPILE_LANGUAGE:CUDA>>:--std=c++11>
|
|
||||||
$<$<COMPILE_LANGUAGE:CUDA>:${GEN_CODE}>)
|
$<$<COMPILE_LANGUAGE:CUDA>:${GEN_CODE}>)
|
||||||
|
|
||||||
if (USE_NCCL)
|
if (USE_NCCL)
|
||||||
@ -45,6 +44,8 @@ if (USE_CUDA)
|
|||||||
endif (HIDE_CXX_SYMBOLS)
|
endif (HIDE_CXX_SYMBOLS)
|
||||||
|
|
||||||
set_target_properties(objxgboost PROPERTIES
|
set_target_properties(objxgboost PROPERTIES
|
||||||
|
CUDA_STANDARD 14
|
||||||
|
CUDA_STANDARD_REQUIRED ON
|
||||||
CUDA_SEPARABLE_COMPILATION OFF)
|
CUDA_SEPARABLE_COMPILATION OFF)
|
||||||
else (USE_CUDA)
|
else (USE_CUDA)
|
||||||
add_library(objxgboost OBJECT ${CPU_SOURCES} ${PLUGINS_SOURCES})
|
add_library(objxgboost OBJECT ${CPU_SOURCES} ${PLUGINS_SOURCES})
|
||||||
@ -71,7 +72,7 @@ endif (MSVC)
|
|||||||
|
|
||||||
set_target_properties(objxgboost PROPERTIES
|
set_target_properties(objxgboost PROPERTIES
|
||||||
POSITION_INDEPENDENT_CODE ON
|
POSITION_INDEPENDENT_CODE ON
|
||||||
CXX_STANDARD 11
|
CXX_STANDARD 14
|
||||||
CXX_STANDARD_REQUIRED ON)
|
CXX_STANDARD_REQUIRED ON)
|
||||||
target_compile_definitions(objxgboost
|
target_compile_definitions(objxgboost
|
||||||
PRIVATE
|
PRIVATE
|
||||||
|
|||||||
@ -35,6 +35,8 @@ class Column {
|
|||||||
index_(index),
|
index_(index),
|
||||||
index_base_(index_base) {}
|
index_base_(index_base) {}
|
||||||
|
|
||||||
|
virtual ~Column() = default;
|
||||||
|
|
||||||
uint32_t GetGlobalBinIdx(size_t idx) const {
|
uint32_t GetGlobalBinIdx(size_t idx) const {
|
||||||
return index_base_ + static_cast<uint32_t>(index_[idx]);
|
return index_base_ + static_cast<uint32_t>(index_[idx]);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -314,7 +314,7 @@ class NDCGLambdaWeightComputer
|
|||||||
for (size_t i = 0; i < sorted_list.size(); ++i) {
|
for (size_t i = 0; i < sorted_list.size(); ++i) {
|
||||||
labels[i] = sorted_list[i].label;
|
labels[i] = sorted_list[i].label;
|
||||||
}
|
}
|
||||||
std::stable_sort(labels.begin(), labels.end(), std::greater<bst_float>());
|
std::stable_sort(labels.begin(), labels.end(), std::greater<>());
|
||||||
IDCG = ComputeGroupDCGWeight(&labels[0], labels.size());
|
IDCG = ComputeGroupDCGWeight(&labels[0], labels.size());
|
||||||
}
|
}
|
||||||
if (IDCG == 0.0) {
|
if (IDCG == 0.0) {
|
||||||
|
|||||||
@ -699,7 +699,7 @@ class GlobalProposalHistMaker: public CQHistMaker {
|
|||||||
this->work_set_.insert(this->work_set_.end(), this->fsplit_set_.begin(),
|
this->work_set_.insert(this->work_set_.end(), this->fsplit_set_.begin(),
|
||||||
this->fsplit_set_.end());
|
this->fsplit_set_.end());
|
||||||
XGBOOST_PARALLEL_SORT(this->work_set_.begin(), this->work_set_.end(),
|
XGBOOST_PARALLEL_SORT(this->work_set_.begin(), this->work_set_.end(),
|
||||||
std::less<decltype(this->work_set_)::value_type>{});
|
std::less<>{});
|
||||||
this->work_set_.resize(
|
this->work_set_.resize(
|
||||||
std::unique(this->work_set_.begin(), this->work_set_.end()) - this->work_set_.begin());
|
std::unique(this->work_set_.begin(), this->work_set_.end()) - this->work_set_.begin());
|
||||||
|
|
||||||
|
|||||||
@ -124,8 +124,8 @@ class ClangTidy(object):
|
|||||||
if pos != -1:
|
if pos != -1:
|
||||||
converted_components.append(
|
converted_components.append(
|
||||||
'--cuda-gpu-arch=sm_' + capability)
|
'--cuda-gpu-arch=sm_' + capability)
|
||||||
elif components[i].find('--std=c++11') != -1:
|
elif components[i].find('--std=c++14') != -1:
|
||||||
converted_components.append('-std=c++11')
|
converted_components.append('-std=c++14')
|
||||||
elif components[i].startswith('-isystem='):
|
elif components[i].startswith('-isystem='):
|
||||||
converted_components.extend(components[i].split('='))
|
converted_components.extend(components[i].split('='))
|
||||||
else:
|
else:
|
||||||
|
|||||||
@ -24,7 +24,6 @@ if (USE_CUDA)
|
|||||||
$<$<COMPILE_LANGUAGE:CUDA>:--expt-extended-lambda>
|
$<$<COMPILE_LANGUAGE:CUDA>:--expt-extended-lambda>
|
||||||
$<$<COMPILE_LANGUAGE:CUDA>:--expt-relaxed-constexpr>
|
$<$<COMPILE_LANGUAGE:CUDA>:--expt-relaxed-constexpr>
|
||||||
$<$<COMPILE_LANGUAGE:CUDA>:-lineinfo>
|
$<$<COMPILE_LANGUAGE:CUDA>:-lineinfo>
|
||||||
$<$<AND:$<NOT:$<CXX_COMPILER_ID:MSVC>>,$<COMPILE_LANGUAGE:CUDA>>:--std=c++11>
|
|
||||||
$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=${OpenMP_CXX_FLAGS}>
|
$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=${OpenMP_CXX_FLAGS}>
|
||||||
$<$<COMPILE_LANGUAGE:CUDA>:${GEN_CODE}>)
|
$<$<COMPILE_LANGUAGE:CUDA>:${GEN_CODE}>)
|
||||||
target_compile_definitions(testxgboost
|
target_compile_definitions(testxgboost
|
||||||
@ -48,6 +47,10 @@ if (USE_CUDA)
|
|||||||
$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=/utf-8>
|
$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=/utf-8>
|
||||||
)
|
)
|
||||||
endif (MSVC)
|
endif (MSVC)
|
||||||
|
|
||||||
|
set_target_properties(testxgboost PROPERTIES
|
||||||
|
CUDA_STANDARD 14
|
||||||
|
CUDA_STANDARD_REQUIRED ON)
|
||||||
endif (USE_CUDA)
|
endif (USE_CUDA)
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
@ -64,7 +67,7 @@ target_include_directories(testxgboost
|
|||||||
${xgboost_SOURCE_DIR}/rabit/include)
|
${xgboost_SOURCE_DIR}/rabit/include)
|
||||||
set_target_properties(
|
set_target_properties(
|
||||||
testxgboost PROPERTIES
|
testxgboost PROPERTIES
|
||||||
CXX_STANDARD 11
|
CXX_STANDARD 14
|
||||||
CXX_STANDARD_REQUIRED ON)
|
CXX_STANDARD_REQUIRED ON)
|
||||||
target_link_libraries(testxgboost
|
target_link_libraries(testxgboost
|
||||||
PRIVATE
|
PRIVATE
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user