1. 程式人生 > >Ubuntu 16.04.5 (x86_64)下安裝CUDA10 for 深度學習

Ubuntu 16.04.5 (x86_64)下安裝CUDA10 for 深度學習

網上查了下,記錄安裝CUDA10的文章很少,這裡記錄下自己安裝過程,給需要的人蔘考下。

作者:Su Liang,2018-10-19 我的系統: Ubuntu的版本:cat /etc/issue,Ubuntu 16.04.5 Ubuntu的系統位數:sodu uname –m,X86_64 GPU:GeForce GTX1080ti 顯示卡驅動:預裝,版本384.130

CUDA的介紹:是平行計算平臺和程式設計模型,他通過驅動GPU快速提高運算能力,如果要使用GPU,就必須用CUDA進行程式設計來驅動GPU

(1)檢視本機顯示卡: lspci | grep -VGA 說明本機一共2塊顯示卡,都是nvidia公司的,後續如果安裝openGL就不會衝突,因為openGL只支援nvidia的顯示卡,其他公司的會被openGL安裝覆蓋。

(2)檢視本機GPU: lspci | grep -i nvidia 此命令為顯示(ls)所有pci裝置,並只顯示nvidia公司裝置

(3)檢視本機gcc版本: gcc --version 此gcc版本為5.4.0,gcc用於對cuda程式碼進行除錯 從nvidia官網檔案可以查到ubuntu16.04能支援的GCC是5.4.0,這也是CUDA10的允許配置,跟我機器上的ubuntu版本及GCC版本是匹配的。如果安裝CUDA8就有問題了,他只能支援ubuntu16.04裡的GCC5.3.1,就得對GCC進行降版本。

(4)檢視本機是否有正確的核心Head和安裝包: CUDA的安裝要求kernel的版本跟kernel head以及跟開發包的版本必須匹配。因為CUDA在安裝的時候如果檢測到沒有安裝過kernel head和開發包會安裝相應kernel head和開發包,但他是安裝最新版,不一定跟本機的kernel匹配。所以最好手動先安裝正確的版本的kernel header和開發包。 檢視本機kernel版本:uname -r 安裝匹配的kernel header和開發包(ubuntu):sudo apt-get install linux-headers-$(uname -r)

(5)安裝適合自己的GPU驅動: 機器買的時候據說已經安裝,保險起見,先查一下 cat /proc/driver/nvidia/version 檢視顯示卡版本:顯示為NVRM已安裝,gcc已安裝 nvcc -v 檢視cuda版本:顯示為cuda toolkit還沒有安裝過

如下兩個命令看看顯示卡驅動的資訊: nvidia-smi 用於檢視顯示卡狀態,兩塊GeForce GTX1080ti顯示卡

nvidia-settings 用於檢視設定

接下來基於runfile installation方式進行NVIDIA驅動/CUDA toolkit的安裝 (7)首先禁掉nouveau driver: nouveau是ubuntu16.04預設安裝的第三方開源驅動,安裝cuda會跟nouveau衝突,需要事先禁掉,執行命令後需要沒有任何輸出就代表禁掉了。 我的機器本來就沒輸出,不知道為什麼。 lsmode | grep nouveau

(8)重啟進入text mode(runlevel 3) 可以按ctrl+alt+f1進入文字模式 然後進入安裝資料夾執行安裝命令:sudo sh cuda_10.0.130_410.48_linux.run 第一次安裝失敗:提示說X server is running 重新上網查了下網上的說,應該是我的X server沒有關掉,解決辦法是: ctrl + alt + f1 進入文字介面 sudo service lightdm stop 關閉圖形介面,此時如果ctrl + alt + f7是無法返回圖形介面的 sudo sh cuda_10.0.130_410.48_linux.run 重新進入安裝資料夾進行安裝 nvidia accelerated graphics driver ——不安裝 openGL——不安裝 其他都yes 最後安裝完成,但提示3個recommended library missing,以及一個warning需要安裝高於384.00的驅動版本。我查了下之前安裝的驅動版本是384.130,是滿足要求的。

重啟reboot,回到圖形介面 (9)環境設定: 把路徑包含進path變數: export PATH=/usr/local/cuda-10.0/binKaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+:{PATH}}

修改64x系統環境變數: export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

(10)檢查安裝結果 cat /proc/driver/nvidia/version 檢視nvidia驅動的版本(版本340.130) ncvv -V 檢視CUDA的版本(注意是大寫V,版本V10.0.130) 安裝成功!