我正在尝试为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)
我只安装了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版本?
答案 0 :(得分:3)
PATH
和LD_LIBRARY_PATH
对cmake没有影响,因此您尝试过的内容无效。
如果您查看find_package
的文档,可以提供PATHS
参数来告诉cmake查看非标准位置
不幸的是,如果您查看XGBoost的CMakeLists.txt的来源,您可以看到它调用find_package(CUDA ...)
,但不允许用户提供PATHS
选项
if(USE_CUDA)
find_package(CUDA 8.0 REQUIRED)
...
endif()
因此,您有两个选择:
PATHS /usr/local/cuda-8.0
添加到find_package
来电cuda-8.0
安装到标准位置(例如:使用/usr/local
作为PREFIX
,而不是/usr/local/cuda-8.0
)答案 1 :(得分:0)
在尝试安装支持GPU的R版本时,我遇到了类似的问题。问题是我正在运行install guide:
中的命令mkdir build
cd build
cmake .. -DUSE_CUDA=ON -DR_LIB=ON
然后运行GPU支持命令:
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
mkdir build
cd build
cmake .. -DUSE_CUDA=ON -DR_LIB=ON
make install -j
我可以通过运行来避免这个问题:
from jose import jwt