首页 文章

CMake v3.4.1在Ubuntu 16.04上找到了CUDA 7.5而不是CUDA 8.0

提问于
浏览
2

我正在尝试为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版本?

2 回答

  • 0

    PATHLD_LIBRARY_PATH 对cmake没有影响,所以你尝试过的东西不起作用 .

    如果您查看find_package的文档,可以提供 PATHS 参数来告诉cmake查看非标准位置

    不幸的是,如果您查看XGBoost的CMakeLists.txt的源代码,您可以看到它调用find_package(CUDA ...),但不允许用户提供 PATHS 选项

    if(USE_CUDA)
      find_package(CUDA 8.0 REQUIRED)
      ...
    endif()
    

    因此,您有两个选择:

    • 编辑XGBoost的CMakeLists.txt文件,并将 PATHS /usr/local/cuda-8.0 添加到 find_package 调用

    • cuda-8.0 安装到标准位置(例如:使用 /usr/local 作为 PREFIX ,而不是 /usr/local/cuda-8.0

  • 3

    在尝试安装支持GPU的R版本时,我遇到了类似的问题 . 问题是我从他们的install guide运行命令:

    git clone --recursive https://github.com/dmlc/xgboost
    cd xgboost
    git submodule init
    git submodule update
    cd R-package
    R CMD INSTALL .
    

    然后运行GPU支持命令:

    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
    

相关问题