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

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

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