在介紹Ubuntu 16.04安裝 CUDA7.5開始前,先辨析幾個概念GPU、NVIDIA、NVIDIA驅動、CUDA、cudnn等,這些概念對於一個新手來說肯定是很暈的,正如我當初一樣,所以我這裡就稍微介紹一下這幾個概念:
部分參照:http://www.afterimage.top/2016/05/%E9%85%8D%E7%BD%AEcuda7-5-ubuntu-16-04-opencv3-1/
在安裝之前,先說一下本人工作站的設備配置(主要是GPU的):
設備上一共有三塊GPU,一快是專門用來做顯示的NVS310
兩塊用來做運算的GeForce GTX TITIAN X
先打開計算機中的“軟件和更新”,查看“附加驅動”,選擇nvidia的驅動為最新的驅動。更新完之後最好重啟一下。
我曾經遇到一些錯誤,就是因為我的NVIDIA驅動太老了,而cuda7.5則依賴於比較新的驅動。
去官網https://developer.nvidia.com/cuda-downloads 下載,選擇Linux——ubuntu——15.04(我安裝的時候還只支持到15.04,沒有支持16.04版本的)——runfile(local)
什麼是 PPA?
PPA,表示 Personal Package Archives,也就是個人軟件包集。
有很多軟件因為種種原因,不能進入官方的 Ubuntu 軟件倉庫。 為了方便 Ubuntu 用戶使用,launchpad.NET 提供了 ppa,允許用戶建立自己的軟件倉庫, 自由的上傳軟件。PPA 也被用來對一些打算進入 Ubuntu 官方倉庫的軟件,或者某些軟件的新版本進行測試。PPA 上的軟件極其豐富,如果 Ubuntu 官方倉庫中缺少您需要的某款軟件,可以去 PPA 上找找看。
我們安裝的cuda可能在Ubuntu倉庫中木有,所以用PPA來下載。
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
cd到下載的.run文件夾執行:
sudo ./cuda_7.5.18_linux.run --override
選擇安裝選項:(注意:應為之前已經安裝過NVIDIA Display Driver的驅動了(如第一步),所以這裡選擇不安裝NVIDIA Accelerated Graphics Driver for Linux-x86_64 352.39。如果選擇安裝會出現錯誤,並且導致安裝CUDA失敗。
Do you accept the previously read EULA? (accept/decline/quit): accept
You are attempting to install on an unsupported configuration. Do you wish to continue? ((y)es/(n)o) [ default is no ]: y
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 352.39? ((y)es/(n)o/(q)uit): n
Install the CUDA 7.5 Toolkit? ((y)es/(n)o/(q)uit): y
Enter Toolkit Location [ default is /usr/local/cuda-7.5 ]:
Do you want to install a symbolic link at /usr/local/cuda? ((y)es/(n)o/(q)uit): y
Install the CUDA 7.5 Samples? ((y)es/(n)o/(q)uit): y
Enter CUDA Samples Location [ default is /home/kinghorn ]: /usr/local/cuda-7.5
Installing the CUDA Toolkit in /usr/local/cuda-7.5 ...
Finished copying samples.
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-7.5
Samples: Installed in /usr/local/cuda-7.5
sudo nano /etc/profile.d/cuda.sh
export PATH=$PATH:/usr/local/cuda/bin
sudo nano /etc/ld.so.conf.d/cuda.conf
/usr/local/cuda/lib64
source /etc/ld.so.conf.d/cuda.confcd /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery
sudo ldconfig
由於cuda7.5不支持gcc4.9以上的版本,而ubuntu16.04默認的是gcc5,這會造成安裝的失敗,解決方法有兩種,
1、對gcc進行降級,讓系統采用低版本的GCC,但是這種方式有一定的問題,因為Ubuntu16.04很多系統文件默認是使用gcc5編譯的,因此如果用降級的方法安裝完cuda後,在後期安裝caffe的時候,可能會報類似於undefined的錯誤,這是因為你的gcc版本低,其所需的系統文件找不到。.
sudo apt-get install g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++
2、這種方式有點類似於黑箱方式,即強制讓他不報錯。編輯/usr/local/cuda/include/host_config.h
,將其中的第115行注釋掉:
將
#error -- unsupported GNU version! gcc versions later than 4.9 are not supported!
改為
//#error -- unsupported GNU version! gcc versions later than 4.9 are not supported!
上面就是設置gcc版本優先級的。20和10就代表你所使用的gcc、g++的版本優先級。
執行如下指令,正常情況下會出現設備中所有的GPU,並把每個GPU的信息打印出來。
nvidia-smi
如果沒有出現錯誤之類的話,就說明安裝成功了。
cd /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery
如果顯示的是一些關於GPU的信息,則說明安裝成功了。
Ubuntu 14.04 安裝配置CUDA http://www.linuxidc.com/Linux/2014-10/107501.htm
Ubuntu 12.04配置NVIDIA CUDA5.5實錄 http://www.linuxidc.com/Linux/2014-10/107502.htm
Ubuntu安裝Theano+CUDA http://www.linuxidc.com/Linux/2014-10/107503.htm
關於Ubuntu 12.04 下 CUDA5.5 的安裝請參看如下鏈接 Ubuntu 12.04 安裝 CUDA-5.5
Caffe配置簡明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1 ) http://www.linuxidc.com/Linux/2016-09/135016.htm
在Ubuntu 14.04上配置CUDA+Caffe+cuDNN+Anaconda+DIGITS http://www.linuxidc.com/Linux/2016-11/136775.htm
Ubuntu16.04下CUDA8.0+Caffe安裝配置過程 http://www.linuxidc.com/Linux/2017-01/139313.htm
Ubuntu 14.04下CUDA8.0 + cuDNN v5 + Caffe 安裝配置 http://www.linuxidc.com/Linux/2017-01/139300.htm
Ubuntu 16.04+Nvidia GTX 1080+CUDA8.0 深度學習環境配置
更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2