* Use CMake config file for representing version. * Generate c and Python version file with CMake. The generated file is written into source tree. But unless XGBoost upgrades its version, there will be no actual modification. This retains compatibility with Makefiles for R. * Add XGBoost version the DMatrix binaries. * Simplify prefetch detection in CMakeLists.txt
23 lines
683 B
CMake
23 lines
683 B
CMake
function (find_prefetch_intrinsics)
|
|
include(CheckCXXSourceCompiles)
|
|
check_cxx_source_compiles("
|
|
#include <xmmintrin.h>
|
|
int main() {
|
|
char data = 0;
|
|
const char* address = &data;
|
|
_mm_prefetch(address, _MM_HINT_NTA);
|
|
return 0;
|
|
}
|
|
" XGBOOST_MM_PREFETCH_PRESENT)
|
|
check_cxx_source_compiles("
|
|
int main() {
|
|
char data = 0;
|
|
const char* address = &data;
|
|
__builtin_prefetch(address, 0, 0);
|
|
return 0;
|
|
}
|
|
" XGBOOST_BUILTIN_PREFETCH_PRESENT)
|
|
set(XGBOOST_MM_PREFETCH_PRESENT ${XGBOOST_MM_PREFETCH_PRESENT} PARENT_SCOPE)
|
|
set(XGBOOST_BUILTIN_PREFETCH_PRESENT ${XGBOOST_BUILTIN_PREFETCH_PRESENT} PARENT_SCOPE)
|
|
endfunction (find_prefetch_intrinsics)
|