CMake v3.4.1在Ubuntu16.04上找到了CUDA 7.5而不是CUDA 8.0
我正在尝试安装对XGBoost的GPU支持,但在尝试使用CMake构建它时出现以下错误:CMake v3.4.1在Ubuntu16.04上找到了CUDA 7.5而不是CUDA 8.0,cmake,cuda,gpu,xgboost,Cmake,Cuda,Gpu,Xgboost,我正在尝试安装对XGBoost的GPU支持,但在尝试使用CMake构建它时出现以下错误: CMake Error at /usr/local/share/cmake-3.4/Modules/FindPackageHandleStandardArgs.cmake:148 (message): Could NOT find CUDA: Found unsuitable version "7.5", but required is at least "8.0" (found /usr) 我只安装了C
CMake Error at /usr/local/share/cmake-3.4/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find CUDA: Found unsuitable version "7.5", but required is at
least "8.0" (found /usr)
我只安装了CUDA 8.0,.bashrc中的环境变量指定为:
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
如何让CMake检测到正确的CUDA版本
PATH
和LD\u LIBRARY\u PATH
对cmake没有影响,因此您尝试的方法将不起作用
如果您查看文档以了解更多信息,则可以提供一个路径
参数,告诉cmake在非标准位置查找
不幸的是,如果您查看XGBoost的CMakeLists.txt的源代码,您可以看到它调用,但不允许用户提供路径
选项
if(USE_CUDA)
find_package(CUDA 8.0 REQUIRED)
...
endif()
因此,您只有两个选项:
- 编辑XGBoost的CMakeLists.txt文件,并将
添加到path/usr/local/cuda-8.0
调用中find_包
- 将
安装到标准位置(例如:使用cuda-8.0
作为/usr/local
前缀,而不是
)/usr/local/cuda-8.0
mkdir build
cd build
cmake .. -DUSE_CUDA=ON -DR_LIB=ON
我可以通过运行以下命令来避免此问题:
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
mkdir build
cd build
cmake .. -DUSE_CUDA=ON -DR_LIB=ON
make install -j
Thx Steve,我试试选项1:)@Nesvold你修好了吗?如何添加cmake文件?
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
mkdir build
cd build
cmake .. -DUSE_CUDA=ON -DR_LIB=ON
make install -j