最近碰到个实验,需要用pytorch0.4和python2.7的环境,因为环境比较老,所以新显卡可能不能装。紧急联系朋友搞了张1660ti想来跑实验,结果光是驱动就碰了一鼻子灰,这里简单做下总结,引以为戒。
首先是系统版本,猜到pytorch0.4版本适配的是比较老linux系统,所以一开始想装Ubuntu18.04,查了一圈后发现,老版本pytorch和CUDA限制仅支持16.04和17.10的Ubuntu
于是在虚拟机里安装的 18.04只能卸掉,结果没想到这也是碰到的第二个大坑,搞了我好几天!
首先下载16.04再在vmware里安装都是轻车熟路不用多说,但是在安装驱动这里碰到了大问题。
把驱动教程先贴上来,后来证实是没有问题的https://www.ngui.cc/el/1296300.html?action=onClick
先是下载了最新版本525.85的驱动,但是安装不上,具体什么问题记得不是很清楚了,但是当时想的很简单,毕竟是几年前的系统,不兼容应该也正常!于是在网上冲浪了一番,下了好几个版本的驱动418.43、450.80、510.108和520.56,最古老的418我都下载了,心想着这下再也没什么问题了吧?
结果安装时会出现Unable to load the kernel module 'nvidia.ko'.的问题,查了下资料,参考这篇文章(https://www.machunjie.com/trouble/842.html),里面提到了说可以升级内核解决,这么一想,毕竟是几年前的系统,内核没有升级确实可能不兼容,于是找了好几篇资料升级内核,一开始到内核网站上找内核文件,什么4.20、5.5、5.10deb文件我都下载了,但是使用sudo dpkg -i *.deb命令直接升级内核总是提示安装错误,最后用了这篇文章中的方法(https://blog.csdn.net/Long_xu/article/details/126710992)升级成功,并且非常方便,所以推荐要升级内核的话可以使用这个方法!
升级内核后,继续安装驱动,结果出现了新的问题:
The CC version check failed:
The kernel was built with gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12),
查资料里显示,好像是因为gcc版本没对上内核,要升级gcc版本,所以安装又失败了。
但是这时我注意到另一个问题,就是不管我安装哪个版本驱动,一开始总是提示:
WARNING: You do not appear to have an NVIDIA GPU supported by the XXX NVIDIA Linux graph...
在参考了https://blog.csdn.net/qq_41185868/article/details/97521492这篇文章中的方法后,我通过添加--add-this-kernel参数成功安装上了显卡驱动!
然而我没高兴太久,很快我就发现,好像并没有安装成功
按照评论中的方法去文件夹中找,也没找到
于是我又查了下,才搞清楚了,原来虚拟机里并不能识别N卡,不能安装CUDA,不能跑程序!这里我也不是特别确定,如果有成功的朋友可以告知一下我怎么在虚拟机中安装驱动和环境,总之我尝试失败了!
没办法,只能拿了一个盘出来装Ubuntu,在装系统的过程中也出现了很多问题,当然因为和本篇主题无关,我就不作过多描述了。
最后根据上面的教程,终于在主机中装上了Ubuntu16.04和N卡驱动,泪目了~