在使用CUDA 10时,编译时出现了两个错误
一、找不到CUDA_cublas_device_LIBRARY/CUDA_cublas_LIBRA
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_cublas_device_LIBRARY (ADVANCED)
解决方案是把cmake升级到3.14.3。不管是Windows还是Ubuntu,都要先把旧版本的cmake卸载了。
-
Ubuntu
下载cmake-3.14.3-Linux-x86_64.tar.gz(下载地址),把它解压到某一位置(我这里是/home/creator/Apps/cmake-3.14.3
)。然后在~/.bashrc
文件的最后加上这两行:export CMAKE_ROOT=/home/creator/Apps/cmake-3.14.3 export PATH=$PATH:$CMAKE_ROOT/bin:
CMAKE_ROOT和PATH是环境变量。
-
Windows
下载cmake-3.14.3-win64-x64.msi,安装之后在系统的环境变量PATH
中加入path/to/cmake
path/to/cmake
就是包含bin
文件夹的那个目录。还需要新建或者修改一个环境变量CMAKE_ROOT
,内容为path/to/cmake
。
2、fatal error: nvcuvid.h: No such file or directory
这是因为nvcuvid模块从CUDA中独立出来了,成为了单独的一个项目, 叫做NVIDIA VIDEO CODEC SDK
,项目地址如下:
https://developer.nvidia.com/nvidia-video-codec-sdk
- 先安装CUDA 10.0, Download Video Codec SDK 9.0依赖于CUDA 10。
安装CUDA可参考博客: Ubuntu 安装CUDA以及cuDNN详细教程
。 - 下载Download Video Codec SDK 9.0
- 解压Video_Codec_SDK_9.0.20.zip之后进入目录,打开终端输入命令:
sudo cp include/* /usr/local/cuda-10.0/include/
sudo cp Lib/linux/stubs/x86_64/libnv* /usr/local/cuda-10.0/lib64/