cmake 检测到cuda版本与实际版本不相符

问题描述:

在Ubuntu系统编译安装openpose项目的时候,用到cmake-gui工具。

cmake检测到cuda版本为7.5,是我曾经安装过但已经卸载的版本。目前安装的是cuda9.0,利用nvcc -V命令检验得到的版本号也是cuda9.0。

原因:

推测问题原因应该是旧版本cuda未卸载干净。

曾经安装caffe的过程中,也因为旧版本的cuda库未卸载完全踩过坑:https://blog.csdn.net/CYummy/article/details/82789355

 

解决:

1、通过关键字搜索,卸载了/usr文件夹下几乎所有带有“7.5”的cuda相关文件,问题依旧未解决。

2、进入到/usr/local,也就是cuda的安装目录下,输入命令:stat cuda 确认cuda软连接连接到正确版本9.0,然而问题依旧未解决。

3、参考https://zhuanlan.zhihu.com/p/48641682 第6条

进入/usr/bin/nvcc,而实际上nvcc是应该在/usr/local/cuda/bin/nvcc。

所以,sudo gedit /usr/bin/nvcc,把里面的内容"exec /usr/lib/nvidia-cuda-toolkit/bin/nvcc" 改成"exc /usr/local/cuda/bin/nvcc"

问题解决,cmake 检测到9.0版本的cuda!

 

疑问:

尽管问题“解决”了,但是对具体原理仍存许多疑惑。

比如在修改nvcc之前,输入nvcc -V指令,得到的是正确版本的cuda9.0,但是cmake就检测不到。

唔,就很奇怪,先记录下,等以后明白个中缘由再来填坑。

也请走过路过了解问题原因的小伙伴不吝赐教~

你可能感兴趣的:(cuda,cmake)