- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 8.8k
 
Description
XGBoost is currently incompatible with CCCL 3.1.0. This is blocking conda-forge/xgboost-feedstock#259.
Reproducer:
git clone https://github.com/NVIDIA/cccl.git -b v3.1.0
mkdir build
cd build
cmake .. -GNinja -DUSE_CUDA=ON -DUSE_NCCL=ON -DCMAKE_PREFIX_PATH=$PWD/../cccl
ninja
Output from CMake:
...
-- Finding CCCL components: Thrust;CUB;libcudacxx
-- cccl_cmake_dir: /home/phcho/Desktop/xgboost/cccl/lib/cmake/cccl
-- Found libcudacxx: /home/phcho/Desktop/xgboost/cccl/lib/cmake/libcudacxx/libcudacxx-config.cmake (found suitable version "3.1.0.0", minimum required is "3.1.0.0")
-- Found Thrust: /home/phcho/Desktop/xgboost/cccl/lib/cmake/thrust/thrust-config.cmake (found suitable exact version "3.1.0.0")
-- Found CUB: /home/phcho/Desktop/xgboost/cccl/lib/cmake/cub/cub-config.cmake (found suitable version "3.1.0.0", minimum required is "3.1.0.0")
-- Found CCCL: /home/phcho/Desktop/xgboost/cccl/lib/cmake/cccl/cccl-config.cmake (found version "3.1.0.0")
-- Standalone CCCL found.
...
Build log:
FAILED: src/CMakeFiles/objxgboost.dir/common/linalg_op.cu.o
/usr/local/cuda/bin/nvcc -forward-unknown-to-host-compiler -ccbin=/usr/bin/c++ -DDMLC_CORE_USE_CMAKE -DDMLC_LOG_CUSTOMIZE=1 -DDMLC_USE_CXX11=1 -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_CUDA -DTHRUST_HOST_SYSTEM=THRUST_HOST_SYSTEM_CPP -DXGBOOST_BUILTIN_PREFETCH_PRESENT=1 -DXGBOOST_MM_PREFETCH_PRESENT=1 -DXGBOOST_USE_CUDA=1 -DXGBOOST_USE_NCCL=1 -D_MWAITXINTRIN_H_INCLUDED -D__USE_XOPEN2K8 -I/home/phcho/Desktop/xgboost/include -I/home/phcho/Desktop/xgboost/dmlc-core/include -I/home/phcho/Desktop/xgboost/gputreeshap -I/home/phcho/Desktop/xgboost/build/dmlc-core/include -I/home/phcho/Desktop/xgboost/cccl/lib/cmake/thrust/../../../thrust -I/home/phcho/Desktop/xgboost/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include -I/home/phcho/Desktop/xgboost/cccl/lib/cmake/cub/../../../cub -isystem /usr/local/cuda/targets/x86_64-linux/include -O3 -DNDEBUG -std=c++17 "--generate-code=arch=compute_75,code=[sm_75]" "--generate-code=arch=compute_80,code=[sm_80]" "--generate-code=arch=compute_90,code=[sm_90]" "--generate-code=arch=compute_100,code=[sm_100]" "--generate-code=arch=compute_120,code=[sm_120]" "--generate-code=arch=compute_120,code=[compute_120]" -Xcompiler=-fPIC --expt-extended-lambda --expt-relaxed-constexpr -Xcompiler=-fopenmp -Xfatbin=-compress-all --default-stream per-thread -MD -MT src/CMakeFiles/objxgboost.dir/common/linalg_op.cu.o -MF src/CMakeFiles/objxgboost.dir/common/linalg_op.cu.o.d -x cu -c /home/phcho/Desktop/xgboost/src/common/linalg_op.cu -o src/CMakeFiles/objxgboost.dir/common/linalg_op.cu.o
/home/phcho/Desktop/xgboost/cccl/lib/cmake/cub/../../../cub/cub/device/dispatch/dispatch_streaming_reduce_by_key.cuh(223): error: the default constructor of "thrust::THRUST_300100_SM_750_800_900_1000_1200_NS::transform_iterator<lambda ->float, thrust::THRUST_300100_SM_750_800_900_1000_1200_NS::counting_iterator<unsigned long, thrust::THRUST_300100_SM_750_800_900_1000_1200_NS::use_default, thrust::THRUST_300100_SM_750_800_900_1000_1200_NS::use_default, thrust::THRUST_300100_SM_750_800_900_1000_1200_NS::use_default, thrust::THRUST_300100_SM_750_800_900_1000_1200_NS::compile_time_value<1>>, thrust::THRUST_300100_SM_750_800_900_1000_1200_NS::use_default, thrust::THRUST_300100_SM_750_800_900_1000_1200_NS::use_default>" cannot be referenced -- it is a deleted function
streaming_context_t streaming_context{};