1. 程式人生 > >ubuntu16.04安裝CUDA8.0+cuDNN5.1

ubuntu16.04安裝CUDA8.0+cuDNN5.1

1. 安裝前的預備知識/Pre-installation Actions

CUDA是NVIDIA公司開發的一套平行計算平臺和程式設計模型,它通過GPU(顯示卡)的強大計算能力顯著地提高程式的執行速度。它實際上只是在C語言的基礎上提供了一組擴充套件,所以其cuda程式碼的風格與C語言十分相似。

為了在你的Linux系統中使用CUDA,需要做以下準備工作:

  • 確認你的電腦上有一張支援CUDA的顯示卡

首先,只有英偉達的顯示卡才可以使用CUDA,可以在命令列輸入命令:

lspci | grep -i nvidia

來確認是否是英偉達顯示卡。

只有英偉達的部分中高階顯示卡才支援CUDA,因此確認是英偉達的顯示卡之後,還要檢視你的顯示卡型號是否包含在NVIDIA官網的

CUDA GPUs列表裡面,裡面包含的顯示卡型別都支援CUDA。

  • 確認你安裝的Linux發行版

Linux發行版數量繁多。但英偉達CUDA開發工具僅支援只有幾個主流的Linux發行版,可以通過以下命令來檢視你的部分系統資訊:

uname -m && cat /etc/*release
  • 確認你的系統安裝了gcc編譯工具

這個條件一般情況下是滿足的,因為一般的Linux發行版在安裝系統時就預設安裝了gcc。執行CUDA程式的時候不需要gcc,但是在使用CUDA工具進行開發的時候需要用到它。可以在bash中輸入以下命令確認:

gcc --version
  • 確認你的系統已經安裝了正確的kernel headers and development packages

在安裝CUDA驅動前,必須要安裝好與你的Linux系統核心版本相匹配的核心頭和開發包。比如你的系統核心版本是3.17.4-301,那麼你必須也要安裝3.17.4-301版本的核心頭和開發包。

使用以下命令確認你的系統核心版本:

uname -r

比如我的系統核心版本是:

[email protected]:~$ uname -r
4.13.0-26-generic

然後根據你的系統核心版本使用apt命令安裝對應的核心頭和開發包。在ubuntu中使用以下命令:

sudo apt-get install linux-headers-$(uname -r)

當然,如果你的系統本身就滿足要求,輸入這條命令不會安裝新的東西,比如我的情況:

[email protected]:~$ sudo apt-get install linux-headers-$(uname -r)
[sudo] ys 的密碼: 
正在讀取軟體包列表... 完成
正在分析軟體包的依賴關係樹 
正在讀取狀態資訊... 完成 
linux-headers-4.13.0-26-generic 已經是最新版 (4.13.0-26.29~16.04.2)。
linux-headers-4.13.0-26-generic 已設定為手動安裝。
下列軟體包是自動安裝的並且現在不需要了:
 iucode-tool snap-confine
使用'sudo apt autoremove'來解除安裝它(它們)。
升級了 0 個軟體包,新安裝了 0 個軟體包,要解除安裝 0 個軟體包,有 1 個軟體包未被升級。

其他Linux發行版安裝核心頭和開發包的命令參考這裡

  • 選擇一種安裝方法

CUDA Toolkit 可以使用2種不同的安裝機制進行安裝:

  1. 使用指定發行版的安裝包,也就是常用的.rpm包或者.deb包。

  2. 使用runfile包,字尾名為.run檔案。

兩種安裝方式的優缺點:

使用.run包的優點是支援更多的Linux發行版,不管是使用.deb格式的Ubuntu/Debian,還是使用.rpm格式的其他大多數Linux發行版;其缺點是無法更新Linux系統的本地包管理系統,也就是隻能單機/standalone安裝,無法線上更新,而且只支援64位的系統。

使用指定發行版的安裝包的優缺點和使用.run包剛好相反。

  • 處理安裝衝突的方法

這一點主要針對的是目前你要安裝的CUDA Toolkit或者NVIDIA Driver和你電腦上以前安裝的版本的衝突問題,如果你是第一次安裝CUDA Toolkit和NVIDIA Driver,那麼請跳過這一點。

如果你以前在你電腦上已經安裝了另一個版本的CUDA Toolkit或者NVIDIA Driver,那就得注意了,因為現在安裝的版本和以前安裝的版本存在一個相容性問題。看下圖展示的CUDA和英偉達顯示卡驅動的相容性表:


2018-01-17 12-21-45螢幕截圖.png

內容很清晰,這裡就不解釋了。
如果存在衝突,則要先解除安裝之前安裝的相應CUDA Toolkit或者NVIDIA Driver。
使用以下命令來解除安裝之前安裝的.run格式的CUDA Toolkit:

sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl

也就是執行/usr/local/cuda-X.Y/bin/資料夾下的uninstall_cuda_X.Y.pl檔案。其中的X.Y是之前你安裝的CUDA Toolkit的版本號,如果不清楚是多少,cd/usr/local/目錄並使用ls命令來檢視。
使用以下命令來解除安裝.run格式安裝的顯示卡驅動:

sudo /usr/bin/nvidia-uninstall

使用下面的命令來解除安裝一個.rpm/.deb格式的版本:

sudo yum remove <package_name> # Redhat/CentOS 
sudo dnf remove <package_name> # Fedora 
sudo zypper remove <package_name> # OpenSUSE/SLES 
sudo apt-get --purge remove <package_name> # Ubuntu

2. 安裝過程/Installation

參考自英偉達官網Package Manager Installation.
下面簡單記錄兩種安裝方式的安裝過程,只針對ubuntu,其他發行版請參考上一行的連結。

2.0 各版本CUDA的下載地址

2.1 .deb格式的安裝過程

.deb格式的安裝又分為2種安裝方式:deb(local)deb(network),也就是提供了2種類型的.deb包供下載,以CUDA Toolkit 8.0.61為例:
本地的.deb包很大,大約有1.9G,這種方式下,安裝開始時,dpkg包管理器將會安裝一個本地倉庫,倉庫中存放了實際的安裝包檔案,並將本地倉庫路徑新增到APT高階包管理工具的安裝包源倉庫列表中。

2018-01-17 13-48-40螢幕截圖.png
而線上的.deb包則只有幾個kb大小,同樣使用dpkg安裝,安裝過程中,會告訴APT高階包管理工具到哪個線上源倉庫去下載實際安裝包檔案。2018-01-17 13-49-34螢幕截圖.png

根據個人愛好,下載deb(local)或者deb(network)都可以。
然後直接根據下載頁面提供的安裝步驟進行安裝。
如果你下載的本地.deb包,執行如下命令:

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

如果採用以上安裝方式,在執行第一句dpkg命令之後,會在System Settings-->Software&Update中看到已經添加了一個本地安裝源倉庫:


Screenshot from 2018-03-12 09-50-04.png

如果你下載的線上.deb包,執行如下命令:

sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

2.2 .run檔案的安裝過程

安裝.run檔案比較麻煩,在沒有提前安裝顯示卡驅動的情況下,參考英偉達官網的安裝教程: Runfile Installation,最終出現了以下錯誤:
"The driver installation is unable to locate the kernel source. Please make sure that the kernel source packages are installed and set up correctly. If you know that the kernel source packages are installed and set up correctly, you may pass the location of the kernel source with the '--kernel-source-path' flag."
參考了很多文章之後,這個問題依舊沒有解決,於是採用了以下的方法:

先在系統設定-》軟體與更新-》附加驅動這裡安裝較新版本的英偉達顯示卡驅動:

2018-01-17 14-48-01螢幕截圖.png

caffe官網裡說道,.run檔案中帶的顯示卡驅動的版本通常已經過時,所以顯示卡驅動就用這個辦法安裝是最方便的,同時上圖中下面一個未知驅動不要使用它,據說是CPU中自帶的英特爾顯示卡驅動。
安裝完顯示卡驅動之後,下載.run安裝包,以CUDA Toolkit 8.0.61為例:
選擇下載runfile格式:

2018-01-17 14-54-41螢幕截圖.png
  • 禁止Nouveau驅動

有些教程中有這一步,使用gedit開啟/etc/modprobe.d/blacklist-nouveau.conf檔案:

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

在其中加入兩行語句:

blacklist nouveau
options nouveau modeset=0

我開啟時它是一個空檔案,反正就照著做吧,沒影響。
再執行下面這句命令:

sudo update-initramfs -u

執行完重啟系統。

  • 執行runfile檔案安裝CUDA Toolkit
sudo bash cuda_8.0.61_375.26_linux.run

開始時會出現一長段說明文件,直接按住Ctrl+C跳過這一段,直接進入安裝選項。

Linux platform:
Do you accept the previously read EULA?
accept/decline/quit: accept
​
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
(y)es/(n)o/(q)uit: n

注意,上面的第二個選項問是否安裝顯示卡驅動,一定要寫n,因為之前已經安裝過顯示卡驅動了。其他部分就全部是y或者直接enter。
安裝過程可能會遇到以下錯誤:

Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
Missing recommended library: libGLU.so 
Missing recommended library: libXmu.so

網上搜索,說是缺少了幾個依賴項,用以下命令安裝:

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev 

安裝好後再重新執行:

sudo bash cuda_8.0.61_375.26_linux.run

總之,如果不算顯示卡驅動,cuda就安裝了兩個工具:CUDA 8.0 Toolkit和CUDA 8.0 Samples。

無論其中哪一塊安裝出錯,都可以使用以下命令將其解除安裝:

sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl   #解除安裝CUDA 8.0 Toolkit
​
sudo /home/ys/NVIDIA_CUDA-8.0_Samples/uninstall_cuda_samples_8.0.pl  #解除安裝CUDA 8.0 Samples

2.3 總結

以上兩種安裝方式都測試過(.run和.deb),其中使用.deb安裝沒什麼講究,可能需要先執行禁止Nouveau驅動那段,基本沒遇到過問題。但是使用.run檔案進行安裝時,為了少折騰,最好先在系統設定-》軟體與更新-》附加驅動(如果裡面沒有該選項,執行一下:sudo apt updatre)中安裝顯示卡驅動,然後執行禁止Nouveau驅動那段,再執行.run檔案安裝,這樣基本也不會出現什麼問題。

3 後處理/Post-installation Actions

安裝完後,需要進行環境變數的設定。使用gedit開啟~/.bashrc檔案:

sudo gedit ~/.bashrc

在檔案最後加入:

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

即新增一個PATH變數和一個LD_LIBRARY_PATH變數。使用source命令令配置更改生效:

source ~/.bashrc

最後依次執行以下命令,執行一個sample來驗證cuda工具是否安裝成功
若是安裝的.run檔案執行:

 cd ~/NVIDIA_CUDA-8.0_Samples/5_Simulations/nbody
 make
 ./nbody

若是安裝的.deb檔案執行:

cd /usr/local/cuda/samples/5_Simulations/nbody
sudo make
 ./nbody

反正就是找到sample下的/5_Simulations/nbody/資料夾,編譯並執行它。具體安裝位置根據自己的情況而定。
執行完會出現以下視窗:


2018-01-17 16-12-50螢幕截圖.png

4 安裝cuDNN

cuDNN是英偉達開發的專門用於深度神經網路計算的GPU加速庫。在CUDA工具基礎上加上cuDNN能進一步加快那些基於英偉達GPU的深度模型的執行速度。也可以不用cuDNN庫加速,就安裝CUDA。

下面記錄如何在CUDA裡面加入cuDNN。

第一步肯定是下載cuDNN檔案,網址在這裡

下載得到此檔案:cudnn-8.0-linux-x64-v5.1.tgz。

然後依次使用以下命令完成cuDNN的安裝:

tar -xvf cudnn-8.0-linux-x64-v5.1.tgz       #解壓cuDNN壓縮包,得到cuda資料夾
cd cuda/include/                             
sudo cp cudnn.h /usr/local/cuda/include/    #複製cudnn.h檔案到cuda對應的include資料夾
cd ../lib64/                                #cd到另一個目錄
sudo cp lib* /usr/local/cuda/lib64/         #複製其下所有lib檔案到cuda對應的lib64資料夾
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5       #刪除這兩個檔案,-r是遞迴,-f表示強制
sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 #將libcudnn.so.5連結到libcudnn.so.5.1.10
sudo ln -s libcudnn.so.5 libcudnn.so        #將libcudnn.so連結到libcudnn.so.5

解釋以下上面的命令,cuDNN的安裝其實就是將其下include/資料夾下的cudnn.h檔案和lib64/資料夾下的所有檔案複製安裝的CUDA下對應的資料夾。

原來的lib64/資料夾下有三個so檔案:libcudnn.so、libcudnn.so.5和libcudnn.so.5.1.10,並且這3個點so檔案大小都一樣。其實都是軟連線!libcudnn.so連結到libcudnn.so.5,而libcudnn.so.5.又連結到libcudnn.so.5.1.10。 真正的檔案只有libcudnn.so.5.1.10,因此我們要將/usr/local/cuda/lib64下的以前的這樣的連結替換掉。

使用rm -rf命令先刪除原來兩個連結檔案;再使用ln -s命令重新建立軟連結。

使用由於裝cuda時,比如我裝的是cuda8.0,那麼在/usr/local/下會生成cuda-8.0/資料夾,以及一個cuda/資料夾,cuda/是軟連結到cuda-8.0/的,所以這兩個資料夾可以看成一個。往任意一個資料夾中新增東西,另一個資料夾都會有相同的東西。

使用ll命令(llls -l的縮寫,功能是顯示當前目錄下檔案詳細資訊)可以檢視檔案的軟連結關係:

[email protected]:~$ cd /usr/local
[email protected]:/usr/local$ ll
總用量 44
drwxr-xr-x 11 root root 4096 117 15:58 ./
drwxr-xr-x 12 root root 4096 114 19:58 ../
drwxr-xr-x  2 root root 4096 216  2017 bin/
lrwxrwxrwx  1 root root   19 117 15:58 cuda -> /usr/local/cuda-8.0/ # ->就代表了軟連結
drwxr-xr-x 17 root root 4096 117 15:58 cuda-8.0/
...

至此,CUDA和cuDNN安裝完畢。

相關推薦

ubuntu16.04安裝CUDA8.0+cuDNN5.1

1. 安裝前的預備知識/Pre-installation ActionsCUDA是NVIDIA公司開發的一套平行計算平臺和程式設計模型,它通過GPU(顯示卡)的強大計算能力顯著地提高程式的執行速度。它實際上只是在C語言的基礎上提供了一組擴充套件,所以其cuda程式碼的風格與C語言十分相

ubuntu16.04 安裝CUDA8.0,cudnn5.1v

安裝cuda8.0之前安裝好nvidia的顯示卡驅動,下載好cuda8.0版本的,網址:https://developer.nvidia.com/cuda-80-ga2-download-archive. 1.1 安裝命令: sudo dpkg -i cuda-repo-ubu

Ubuntu14.04安裝cuda8.0+cudnn5.1+Tensorflow1.0.0(GPU)教程

溫馨提示: 本安裝教程為TensorFlow GPU預編譯安裝教程,安裝過程比較複雜,如果安裝過程中出現錯誤,請先排除已經出現的錯誤,否則很容易導致無法成功安裝TensorFlow。    安裝過程中

win10 tensorflow1.2(gpu)安裝(CUDA8.0+cudnn5.1)

  其實官網上的流程寫得還是挺詳細的,但還是遇到一些小問題,就在這裡列舉一下好了。說明下,我採用的是Anaconda的方式安裝。   首先,提醒大家擦亮眼睛,一定要python3.5.x或者3.6.x才行,什麼3.7.x、2.7.x都不行,出錯看看是不是一開始就走遠了。   其次,就

[openpose最新&簡單安裝]ubuntu16.04+openpose1.4+cuda8.0+cudnn5.1+opencv2.4+caffe

由於實驗室需要,被安排跑卡內基梅隆大學開源專案openpose。按照網山各種教程安裝環境及測試,都遇到各種問題,有的編譯成功了測試時還出問題。幾經重灌與嘗試,花了六七天的時間,綜合各種帖子的方法,最後成功了。特寫部落格記錄一下,也希望能幫到看到此部落格的人。 個人覺得前面的

Ubuntu16.04安裝以及在 TitanX 下搭建 caffe框架(cuda8.0 + cudnn5.1

Lab223伺服器caffe裝配過程 安裝ubuntu 16.04 LTS x64 使用工具 大白菜裝機版 或者 UltroISO 或者 Uiversal-USB-install- 最新版 製作U盤啟動盤,官方下載64位版本: ubuntu-16.04-des

caffe+cuda8.0+cudnn5.1+Ubuntu16.04安裝

所需軟體: ubuntu-16.04-desktop-amd64 caffe-master Anaconda2-4.1.1-Linux-x86_64.sh cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.d

ubuntu16.04+1080顯示卡+cuda8.0+cudnn5.1安裝記錄

1. 顯示卡驅動安裝 (1)在nvidia官網上下載相應的驅動:NVIDIA-Linux-x86_64-384.111.run (2)解除安裝可能存在的舊版本 nvidia 驅動(對沒有安裝過 nvidia 驅動的主機,可省略) 在終端輸入: sudo apt-get

ubuntu16.04+cuda8.0+cudnn5.1+caffe 安裝(基於獨立主機&整合顯示卡>X1080Ti)

最近開始配置自己的深度學習主機,由於之前只在筆記本上和單顯示卡主機上安裝過,所以可以說是zero經驗,以至於很多問題不瞭解都當成了bug,故為了方便以後的自己以及大眾,特在此寫下post一篇。(由於可能會有很多的問題我沒有遇到但各位可能遇到,故在文末貼出其他的安裝連結,請自

Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7+TensorFlow1.2.0環境搭建

選擇 per orf stop lis option amd64 pan repo 軟件版本說明:我選的Linux系統是Ubuntu16.04,CUDA用的8.0,Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7只支持TensorFlow1.3.

Ubuntu16.04+GeForce GTX 1070Ti+CUDA8.0+cuDNN5.1+TensorFlow1.2+tf-faster-rcnn訓練

1、下載CUDA8.0和CUDNN5.1 百度網盤下載地址(包含8.0和9.0):https://pan.baidu.com/s/1ir3rKhUtU1aIRE7n1BQ5mg 2、安裝CUDA8.0 安裝方式1(字尾為.deb的): sudo dpkg -i cuda-repo-u

Ubuntu16.04LTS安裝NVIDIA驅動+cuda8.0+cudnn5.1+opencv3.2

1. 安裝NVIDIA驅動 下載NVIDIA-Linux-x86_64-375.66.run,見官網,下載滿足自己系統以及cuda8.0所要求的驅動版本。 (1)將舊的nvidia驅動卸掉,一般新系統一般不存在nvidia驅動,但是執行一下: sudo apt-get purge n

多圖超詳細Ubuntu16.04下配置CUDA8.0+cuDNN5.1+Caffe+OpenPose

前言:參加英特爾杯需要配置Caffe(Intel Caffe的安裝這裡就沒寫了)和OpenPose,網上找到的Ubuntu下配置的教程比較少,踩了一天的坑之後決定還是把它寫下來,方便後來的人配置開發環境。下面的教程裡面預設是N卡,且已經安裝好驅動了。 0.安裝依賴 因為對l

Ubuntu16.04+cuda8.0+cudnn5.1配置faster-rcnn的方法以及訓練自己的資料出現的問題

  最近在用教研室的伺服器跑faster rcnn, 伺服器配置太高了ubuntu 16.04 + cuda8.0 + cudnn 5.1, 但是原本的faster rcnn 點選開啟連結已經是兩年前的了,所以會出現不相容的問題.網上查了一個大神的,就用了這個點選開啟連結部

Ubuntu16.04 + GTX 1070 + CUDA8.0 + cuDNN5.1環境配置

1.ubuntu16.04安裝,這個就略過了。。注意最好是純ubuntu,不要搞虛擬機器,虛擬機器對於顯示卡的識別好像有問題(聽說)2.GTX1070顯示卡驅動一次開啟 設定===》軟體和更新==>附加驅動==》會自動提示推薦的顯示卡驅動,我這裡安裝的版本是3843.下

Ubuntu16.04+cuda8.0+cudnn5.1+anaconda+tensorflow0.12.1暗影精靈三GTX1080ti

電腦配置:i7-8700K 16G 256GSSD+2T GTX1080Ti由於要用tf==0.12.1,所以配置的深度學習環境並不是最新的。想安裝最新的TF可以參考此教程1、win10+Ubuntu16.04雙系統,安裝教程、補充教程。2、cuda8.0+cudnn5.1+

基於Ubuntu16.04Cuda8.0安裝OpenCV3.1.0

本博文會介紹如何在Ubuntu16.04上安裝OpenCV3.1.0版本,有些人會有疑問,之前用過這條命令sudo apt-get install python-opencv 安裝OpenCV,也可以使用,但注意通過上面命令安裝的OpenCV不是最新版本的,一般

ubuntu14.04+cuda8.0+cudnn5.1+tensorflow 1.0

實習第一天,帶我的老師扔給我一臺電腦,讓我配置伺服器環境。。。一臉懵逼+兩手發麻,幸好還有度孃的幫忙,配配配! (ubuntu14.04以配好) 第一步:ctrl+alt+t 開啟終端,輸入nvidia-smi 出來一張類似這樣的圖,描述了GPU的資訊 當時我那臺伺服

Ubuntu16.04+caffe+CUDA8.0+cuDNN v5+opencv3.1.0+matcaffe編譯

Ubuntu16.04+caffe+CUDA8.0+cuDNN v5+opencv3.1.0編譯這篇caffe安裝非常不錯,但是裡面因為時間的原因,有些操作已經不能用了而且原文涉及到一些小問題,小編我是生怕之後自己的ubunutu崩掉,就將其錯誤改正,重新寫了寫。還有就是看得

Ubuntu16.04+gtx1060+cuda8.0+cudnn8.0+tensorflow安裝

折騰了兩天系統安裝和配置,簡單的記錄一下。 linux坑太多,如果有朋友遇到坑,歡迎交流。 1.Ubuntu16.04安裝 1)先去官網找到對應的版本,我這裡安裝的是Ubuntu16.04 ltx