cls*_*udt 36 c++ cuda build cmake
我正在尝试构建这个项目,它将CUDA作为依赖项.但是cmake脚本无法在系统上找到CUDA安装:
cls ~/workspace/gpucluster/cluster/build $ cmake ..
-- The C compiler identification is GNU 4.7.1
-- The CXX compiler identification is GNU 4.7.1
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
CMake Error at /usr/share/cmake/Modules/FindCUDA.cmake:488 (message):
Specify CUDA_TOOLKIT_ROOT_DIR
Call Stack (most recent call first):
CMakeLists.txt:20 (find_package)
Run Code Online (Sandbox Code Playgroud)
- 配置不完整,发生错误!
我已经尝试将其添加为环境变量.bashrc,但没有效果:
export CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-5.5
Run Code Online (Sandbox Code Playgroud)
我怎么做对的Specify CUDA_TOOLKIT_ROOT_DIR?
Sla*_*ica 51
cmake提到CUDA_TOOLKIT_ROOT_DIR了cmake变量,而不是环境变量.这就是为什么当你把它放入.bashrc时它不起作用的原因.如果你研究FindCUDA.cmake它清楚地说:
如果前缀不能由系统路径中的nvcc位置确定,并且指定了find_package(),则脚本将提示用户指定CUDA_TOOLKIT_ROOT_DIR.要使用不同的已安装版本的工具包,请在运行cmake之前设置环境变量CUDA_BIN_PATH(例如,CUDA_BIN_PATH =/usr/local/cuda1.0而不是默认的/ usr/local/cuda),或者在配置后设置CUDA_TOOLKIT_ROOT_DIR.如果更改CUDA_TOOLKIT_ROOT_DIR的值,将重新定位依赖于路径的各种组件.
所以放入CUDA_BIN_PATH.bashrc或指定CUDA_TOOLKIT_ROOT_DIRcmake:
cmake -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-5.5 ..
Run Code Online (Sandbox Code Playgroud)
Ash*_*ppa 14
FindCMake.cmake寻找/usr/local/cuda.在您的情况下,该目录可能不在那里.只需在您的实际CUDA安装目录中创建该名称的符号链接:
$ sudo ln -s /usr/local/cuda-5.5 /usr/local/cuda
Run Code Online (Sandbox Code Playgroud)
您的CMake现在应该能够为您的项目生成Makefile.
Kje*_*ell 12
也许 CUDA 是从源代码安装的(并且nvcc不在路径中)。然后脚本CUDA_TOOLKIT_ROOT_DIR因为nvcc丢失而无法设置。对我来说,运行后效果很好:
sudo apt install nvidia-cuda-toolkit
Run Code Online (Sandbox Code Playgroud)
(这个包可能需要几个 GiB 空间)
从 CMake 3.8 开始,不推荐使用 FindCUDA,在 CMake 项目中使用 CUDA 的正确方法是通过project()或enable_language()
https://cmake.org/cmake/help/v3.8/release/3.8.html#cuda
| 归档时间: |
|
| 查看次数: |
58550 次 |
| 最近记录: |