解决nvidia-smi和nvcc显示信息与所安装CUDA版本不一致问题
nvidia-smi & nvcc -V
首先需明白CUDA有runtime api和driver api,两者都有对应的CUDA版本,nvcc -V
显示前者对应的CUDA版本,而nvidia-smi
显示后者对应的CUDA版本。
通常,driver api版本能向下兼容runtime api的版本,即nvidia-smi
显示的版本大于nvcc -V
的版本通常不会出现大问题。因此nvidia-smi
显示的版本与所安装CUDA版本不一致是正常的。
而平常我们做深度学习所用的是CUDA的runtime api版本,因此以nvcc -V
为准,这里版本如果不一致就容易发生问题。其原因主要是本机存在多个CUDA,没有正确映射造成。
问题解决
查询现在的映射关系,可通过如下命令:
1 | stat /usr/bin/nvcc |
要是映射错误,需重新建立映射:
① 删除原来映射
1 | sudo rm -rf /usr/bin/nvcc |
② 建立新的软链接指向安装的CUDA版本
1 | sudo ln -s /usr/local/cuda/bin/nvcc /usr/bin/nvcc |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yuan!
评论