自学内容网 自学内容网

ubuntu 手动更换库文件解决nvcc -V和nvidia-smi不一致

问题现象

笔主在训练之前想查看gpu占用情况,使用watch -n 1 nvidia-smi发现:
在这里插入图片描述
且在推理、训练时无法使用到显卡。

问题排查

cat /proc/driver/nvidia/version查看当前显卡驱动版本,可以看到显卡驱动是560.35.03:
在这里插入图片描述
而NVML库版本是565.57,确实不匹配。
笔主并没有手动更新,那么是如何触发这种更新机制的?了解到nvml并不会自动更新,但在一种情况下除外,那就是你使用的是anaconda的cudatoolkit进行管理的。
使用 cat /var/log/dkpg.log | grep nvidia查看nvidia驱动的变更情况,发现最后一次变更就在刚刚不久,那时我并没有进行更新呐!
在这里插入图片描述
笔者有多个cuda版本库,查看当前使用的是哪一个?
在这里插入图片描述

限制

  1. 一是要关闭anaconda 自动更新toolkits这种机制,防止再次出现这种问题。
  2. 因为本机是宿主机中一docker,所以无法通过升级驱动的方式进行解决,只能降低nvml库版本解决问题。

解决

禁止自动更新

  • conda config --set channel_priority strict限制更新通道
  • sudo apt-mark manual <package-name>将其标记为手动安装,禁止自动更新。

降低库版本

nvml 库文件一般在/usr/lib/x86_64-linux-gnu/中,查找一下。
这里我已经进行了替换,它原本指向565.57.01,我做了一个软链接。
在这里插入图片描述
再次查看nvidia-smi,已经可以啦。
在这里插入图片描述


原文地址:https://blog.csdn.net/weixin_51332735/article/details/144281229

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!