1. 程式人生 > >ubuntu14.04更新cuda驅動

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檢查切換後的版本。