Linux安裝CUDA的正確姿勢
CUDA(Compute Unified Device Architecture,統一計算架構)是由NVIDIA所推出的一種集成技術,是該公司對于GPGPU的正式名稱。
透過這個技術,用戶可利用NVIDIA的GeForce 8以后的GPU和較新的Quadro GPU進行計算。
查看顯卡是否支持CUDA
輸入下面命令查看電腦的NVIDIA型號:
vincent@dell-Inspiron-7559 Dir:~
·····$lspci | grep -i nvidia
02:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)
我的顯卡型號為: GeForce GTX 960M
然后到官網查看是否支持CUDA,網址地址。
查看CUDA版本與NVIDIA驅動的關系
也可以到官網查看,點擊查看鏈接。
下載CUDA文件
下載最新的CUDA軟件安裝包, CUDA Toolkit 9.2 Download。
我們選擇runfile文件進行安裝。然后放到一個目錄下,要記住,后面我們會要執行它。
確認安裝環境
1. NVIDIA顯卡已經正常安裝
2. nouveau已經禁用
可以使用下面命令查看,如果沒有輸出代表成功:
lsmod | grep nouveau
如果正確安裝了NVIDIA的驅動就會禁止掉了。
3. 驗證系統是否安裝了gcc
終端輸入下面命令查看是否安裝:
vincent@dell-Inspiron-7559 Dir:~
·····$gcc --version
gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
安裝CUDA
1. 進入tty界面
按alt + ctrl + F1
進入tty命令行界面,登錄用戶和密碼
2. 關閉圖形界面
在tty中輸入下面命令關閉圖形界面:
sudo service lightdm stop
或者
sudo telinit 3
3. 運行cuda文件
首先給cuda可執行權限:
sudo chmod a+x cuda_9.2_linux.run
運行cuda文件:
sudo ./cuda_9.2_linux.run --no-opengl-libs
cuda主要有以下參數:
--no-opengl-libs
:表示只安裝驅動文件,不安裝OpenGL文件。必需參數,原因同上。注意:不是-no-opengl-files
。--uninstall (deprecated)
:用于卸載CUDA Driver(已廢棄)。--toolkit
:表示只安裝CUDA Toolkit,不安裝Driver和Samples--help
:查看更多高級選項。
4. 安裝過程的選項選擇
(1). 會先有個閱讀聲明,一直按D即可,然后accept。
(2). 選項install nvidia accelerated Graphics Driver,輸入n,因為我們已經安裝了nvidia的驅動。
(3). 選項install the OpenGL libraries,如果雙顯卡(集顯+獨顯)選擇n,如果只有獨顯可以選擇y,如果雙顯卡選擇y的話,會出現黑屏或者循環登錄的問題,如果加了上面的參數就不會出現這個選項了。
(4). 后面的可以都選擇yes,最后一個選項我們可以選擇n,也就是不復制Samples,因為安裝目錄下有samples。
安裝過程結束后會有以下信息:
Driver :Installed
Toolkit :Installed in /usr/local/cuda-9.2
Samples :Installed in /home/vincent
代表安裝完成,但是不代表成功。這時需要重啟。
5. 驗證cuda是否成功安裝
重啟進入界面,打開終端輸入:
export PATH="/usr/local/cuda-9.2/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH"
這兩條命令是將cuda的bin文件和lib導出到系統環境中。
如果安裝的版本不是一樣的,更換路徑中的cuda-9.2。
(1). 終端輸入:
nvcc -V
如果有CUDA的版本信息代表正常。
(2). 編譯samples例子
#編譯并測試設備 deviceQuery:
cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery#編譯并測試帶寬 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest
如果這兩個測試的最后結果都是Result = PASS,說明CUDA安裝成功啦。
備注:
如果安裝失敗,有可能是缺少依賴,終端執行:
sudo apt-get install freeglut3-dev \
build-essential \
libx11-dev \
libxmu-dev \
libxi-dev \
libgl1-mesa-glx \
libglu1-mesa \
libglu1-mesa-dev
(6). 將cuda的bin和lib寫入系統環境
打開~.bashrc
文件在末尾追加兩句:
export CUDA_HOME=/usr/local/cuda-9.2
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-9.2/bin:$PATH
然后退出重新打開終端即可。
CUDA卸載
CUDA默認安裝在 /usr/local/cuda-9.2
下,用下面的命令卸載::
sudo /usr/local/cuda-9.2/bin/uninstall_cuda-9.2.pl
NVIDIA驅動卸載:
sudo /usr/bin/nvidia-uninstall
卸載過程一路都是yes。
其他問題
1. 如果出現循環登錄
按alt + ctrl + F1
進入tty,然后切換集顯:
sudo prime-select intel
卸載cuda文件:
sudo /usr/local/cuda-9.2/bin/uninstall_cuda_9.2.pl
如果重啟之后還是不能進入,那就把nvidia驅動卸載:
sudo /usr/bin/nvidia-uninstall
也可以在啟動時選擇Advanced然后以root方式進入系統,卸載nvidia、cuda等軟件。
然后重啟,如果重啟黑屏,在grub
界面進入linux的選擇上按e
鍵,找到quiet splash
,在后面加nouveau.modeset=0
,然后按F10
啟動。
然后安裝nvidia驅動,再安裝CUDA軟件。
2.gcc版本校驗失敗
如果安裝cuda過程中出現
Failed to verify gcc version
那么很有可能你的gcc版本太高,例如:cuda 10.1要求gcc版本是7.3.0,但是ubuntu 20.04/linux mint 20默認gcc版本為9.3.0,所以可以增加下面參數安裝。
sudo sh cuda_10.1.243_418.87.00_linux.run --override
END