我經(jīng)歷了一天半的辛苦歷程,終于搭好了cuda的環(huán)境。不熟悉ubuntu的使用操作,我相信也有很多人和我一樣,一開始都是百度去搜索別人的經(jīng)驗(yàn),但是我看到的大部分經(jīng)驗(yàn)只是一部分有用,通過(guò)整合網(wǎng)上的經(jīng)驗(yàn)教程和自己踩過(guò)的坑,來(lái)寫這個(gè)教程,希望大家不要再重蹈覆轍,一步到位。
服務(wù)器基本配置:
ubuntu18.04
Tesla V系列顯卡
想要裝:cuda10.0,cudnn7.6.5
1.更新系統(tǒng)的NVIDIA驅(qū)動(dòng)
ubuntu系統(tǒng)是自帶NVIDIA驅(qū)動(dòng),如果這個(gè)驅(qū)動(dòng)版本太老舊,就會(huì)導(dǎo)致安裝不了cuda10以上的版本,所以第一步會(huì)更新系統(tǒng)的NVIDIA驅(qū)動(dòng)。選擇最新的NVIDIA驅(qū)動(dòng)安裝更新即可。尤其是需要安裝最新版本cuda,更需要更新NVIDIA驅(qū)動(dòng)。

當(dāng)然也可以選擇使用命令行更新,操作如下:
sudo add-apt-repository ppa:graphics-drivers/ppa # 添加源
sudo apt update
sudo apt install nvidia-driver-435 # 根據(jù)出現(xiàn)的drivers結(jié)果,選擇一個(gè)最新的更新即可
以上兩種方法選擇一種方法操作即可。
2.下載安裝cuda和cudnn
2.1下載cuda
cuda10.0下載地址:cuda10.0官網(wǎng)下載
我下載的是runfile(local),我看網(wǎng)上有人下載deb(local),我試驗(yàn)過(guò)deb格式,安裝過(guò)程中就更新到10.2的版本,所以這里建議下載runfile(local)

2.2 安裝
下載完成后,按照官網(wǎng)上的說(shuō)明操作即可:
sudo sh cuda_10.0.130_410.48_linux.run # 按照官網(wǎng)安裝說(shuō)明操作即可
2.3 配置環(huán)境
我既修改了~/.bashrc文件,也修改了/etc/profile環(huán)境文件。網(wǎng)上很多人只修改一個(gè)文件,按照道理來(lái)說(shuō)都是可行的。
2.3.1 修改~/.bashrc文件
輸入以下代碼,打開~/.bashrc文件
sudo vim ~/.bashrc
在文件最后面加入以下命令(先按一下"a"鍵才可以操作修改內(nèi)容):
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
export PATH=$PATH:/usr/local/cuda-10.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0
修改后保存退出即可。
備注:應(yīng)該也有很多我這樣的ubuntu小白,不知道如何保存退出。先按"esc",然后輸入":wq",就是保存退出。
然后,輸入以下命令使該環(huán)境內(nèi)容生效。
source ~/.bashrc
2.3.2 修改/etc/profile文件
輸入一下代碼即可操作/etc/profile的文件內(nèi)容
sudo vim /etc/profile
2.3.3 創(chuàng)建鏈接
打開文件
sudo vim /etc/ld.so.conf.d/cuda.conf
文件末尾添加以下內(nèi)容:
/usr/local/cuda-10.0/lib64
保存退出,然后執(zhí)行以下命令
sudo ldconfig
使得內(nèi)容生效。
2.4 測(cè)試cuda是否安裝成功
此時(shí)需要切換到CUDA-10.0 Samples的路徑下,輸入以下命令:
cd /home/user/NVDIA_CUDA-10.0_Samples # user是用戶自己的命名,每臺(tái)設(shè)備命名不一樣,根據(jù)自己的設(shè)備名稱變化
sudo make all -j8
cd bin/x86_64/linux/release
./deviceQuery
如果cuda安裝成功的話,會(huì)在最下面顯示Result=PASS的內(nèi)容,否則安裝失敗。
3.下載安裝cudnn
3.1 下載
cudnn7.6.5下載地址(需要注冊(cè)登錄):cudnn7.6.5官網(wǎng)下載
一定要選擇好cuda所對(duì)應(yīng)的版本下載cudnn。比如cuda是10.0,那么就要下載10.0所對(duì)應(yīng)的cudnn版本。(這個(gè)非常重要)
下載cuDNN Library for Linux那個(gè)文件即可。(我的賬號(hào)登不進(jìn)去官網(wǎng)了,很奇怪,暫時(shí)不貼圖了,大家應(yīng)該能夠一目了然的。)
然后解壓下載的文件,會(huì)看見(jiàn)一個(gè)cuda的文件夾,里面包含include文件和lib64文件。
3.2 安裝
然后執(zhí)行以下命令來(lái)配置cudnn
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
3.3 創(chuàng)建庫(kù)文件鏈接
你會(huì)發(fā)現(xiàn)lib64中有兩個(gè)文件的大小竟然為0,所以必須要建立庫(kù)文件鏈接。(這地方很多教程并沒(méi)有,很關(guān)鍵。要不會(huì)報(bào)錯(cuò)內(nèi)容就是libcudnn.so.7的太小讀取不了)
cd /usr/local/cuda-10.0/lib64
sudo ln -sf libcudnn.so.7.6.5 libcudnn.so.7 #7.6.5是下載的cudnn的版本
sudo ln -sf libcudnn.so.7 libcudnn.so
sudo ldconfig -v
3.4 測(cè)試
復(fù)制sample到home目錄下
cp -r /usr/src/cudnn_samples_v7 /$HOME
進(jìn)入該目錄
cd /HOME/cudnn_samples_v7/mnistCUDNN/
編譯mnist測(cè)試樣本
make clean && make all -j8
運(yùn)行測(cè)試樣本
./mnistCUDNN
如果最后結(jié)果是Test passed!,那么cudnn就安裝成功了。
總結(jié)
其實(shí)每個(gè)人的配置不一樣,所以中間的步驟各有差異。遇到問(wèn)題還是要查找網(wǎng)上的一些資料,尤其是對(duì)于ubuntu小白來(lái)說(shuō),更是如此。希望以上內(nèi)容對(duì)大家能夠有所幫助,謝謝大家!
參考資料
Ubuntu 18.04 下安裝安裝NVIDIA顯卡驅(qū)動(dòng)+CUDA-10.1+cudnn-7
Ubuntu18.04+Tensorflow GPU版本環(huán)境搭建
安裝cuDNN-7.5.0