1. 針對於服務器
硬件基礎:聯想服務器,顯卡:Tesla P4
配置實驗室新服務器的時候發現,安裝Ubuntu16.04之後:
1)直接安裝nvidia驅動,用指令nvidia-smi可以測試成功,看到Tesla P4的信息;
2)用cuda 8.0直接安裝,用cuda中默認的驅動,也是安裝並測試成功;
但是以上只要一關機重啓,在Ubuntu的啓動界面,輸入密碼之後,會一直在登錄界面循環,進不去系統。
經過大量的討論與測試之後發現,應該是單獨安裝顯卡驅動或者安裝cuda的時候,顯卡驅動與cuda中自帶的OpenGL函數庫與Ubuntu自帶的OpenGL函數庫衝突了,才引起了上面的問題。
2. 解決方案
1)安裝 .run 版本的顯卡驅動,在安裝的時候,手動選擇不安裝驅動裏面的 OpenGL 文件;
2)安裝完驅動後,再安裝 .run 版本的CUDA 8.0,在安裝CUDA的時候,不要安裝驅動。
3. 實現代碼
3.1 安裝前的準備工作
2)卸載掉原來的nvidia驅動: sudo apt-get autoremove --purge nvidia-*
如果是 run 文件安裝的,則這樣卸載: sh ./nvidia********.run --uninstall
3)打開配置文件,禁用nouveau:sudo gedit /etc/modprobe.d/blacklist.conf
4)禁用nouveau第三方驅動,在最後一行添加:blacklist nouveau
5)執行:sudo update-initramfs -u
6)執行或者重啓後執行:lsmod | grep nouveau , 只要沒有輸出就好了。
3.2 開始安裝驅動:
1)進入控制檯1,在終端輸入:Ctrl-Alt+F1
2)然後關閉x window界面:sudo service lightdm stop
3)將目錄切換到nvidia驅動所在的目錄下,並賦予run文件執行權限:sudo chmod a+x NVIDIA*.run
4)然後安裝:sudo ./NVIDIA*.run --no-opengl-files 。即不安裝OpenGL文件,注意no前面是兩個 - - ,其他都是一個。還有其他幾個參數可選:
--no-opengl-files 只安裝驅動文件,不安裝OpenGL文件。這個參數最重要;
--no-x-check 安裝驅動時不檢查X服務;
--no-nouveau-check 安裝驅動時不檢查nouveau;後面兩個參數可不加。
5)然後可用nvidia-smi命令測試是否可以看到顯卡信息,若能看到,即爲成功;
6)然後開啓x window界面:sudo service lightdm start
7)重啓,並不會出現循環登錄的問題.
4. 安裝cuda 8.0
待續,明天再寫