ubuntu14.04更新cuda驱动

当你在ubuntu14.04下采用dkms安装了cuda驱动一段时间后想更新,经常会报一些错误,这些错误在网上可以搜到很多类似关键词,但是想要解决却很困难。
下面以cuda6.5更新到cuda7.0为例。

如果cuda6.5的安装方式已知,则应该以对应的方式卸载。运行cuda_7.0.28_linux.run,可能会报错 “you appear to be running on X server”,如果service lightdm stop命令确实执行生效了,那就打开/tmp/cuda_install_*.log,可以找到【process id】 of a runing X server的字样,kill掉这个process。接着安装,可能会报错gcc版本不对,这个sudo update-alternatives –config gcc将mode调整到gcc4.8向上。

此时可能可以安装成功,但是重启以后nvidia-smi就会不能启动,根据网上的资料,我们采用“modprobe -l|grep nvidia”命令 ,找到“updates/dkms/nvidia_340*”,因此需要先用dkms命令卸载动态加载的nvidia kernel,先采用dkms status查询具体的cuda版本号(nvidia-340,340.76),然后执行“dkms remove nvidia-340/340.76 –all”,于是再执行“modprobe -l|grep nvidia”就见不到这个字样了。

如果gpu程序报错“Module nvidia_340_uvm not found”,便可以执行“sudo update-alternatives –config x86_64-linux-gnu_gl_conf”切换gpu的mode,不知道为什么没有346(cuda7.0)的mode可选择(可以尝试update-alternatives –install添加),但是可以选择“/usr/lib/x_86_64-linux-gnu/mesa/ld.so.conf”,此时再跑gpu程序,应该就没有问题了。

针对有些低版本内核的linux不支持cuda7.0的安装,可以自己去更新内核,这里只给出切换内核的方式:
1. grep menuentry /boot/grub/grub.cfg
2. 将文件/etc/default/grub中GRUB_DEFAULT=*改为你想要的内核编号。
3. sudo update-grub更新引导。
4. reboot以后uname -r检查切换后的版本。

你可能感兴趣的:(ubuntu,CUDA)