參考文獻:
http://blog.csdn.net/autocyz/article/details/52299889
http://blog.csdn.net/lixintong1992/article/details/51156368
http://blog.csdn.net/baiyu9821179/article/details/57412131
http://blog.sina.com.cn/s/blog_9db078090102vdvx.html
最近開始學習 CUDA 在安裝中遇到的一些問題,最終成功安裝,也得益於網絡上的前輩寫的文章,現在將全部安裝步驟以及遇到的一些問題總結如下:
本文的前提條件是你已經安裝好 NVIDIA 顯卡, 此部分操作參見本博客上一篇內容。
安裝其它必要軟件
- 下面都是一些可能需要用到的庫,否則在安裝CUDA時,可能會提示缺少需要的庫文件。
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
- 值得注意的是,我在我的Ubuntu系統
/usr/lib/x86_64-linux-gnu/
目錄下找到了名為libGLU.so.1.3.1
,所以在嘗試建立鏈接到/usr/lib/
目錄下后,安裝Samples時就正常了。
sudo ln -s /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1 /usr/lib/libGLU.so
安裝CUDA
cuda是nvidia的編程語言平台,想使用GPU就必須要使用cuda。
從這里下載cuda的安裝文件
從這里下載cuda的安裝文件
https://developer.nvidia.com/cuda-downloads

注意這里下載的是cuda8.0的runfile(local)文件。
這里是nvidia給出的官方安裝指南(遇到問題時可以查閱):
這里是nvidia給出的官方安裝指南(遇到問題時可以查閱):
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4HIBXnwyt
下載完cuda8.0后,執行如下語句,運行runfile文件:
sudo sh cuda_8.0.61_375.26_linux.run
執行后會有一系列提示讓你確認,但是注意,有個讓你選擇是否安裝nvidia375驅動時,一定要選擇否,因為前面我們已經安裝了更加新的nvidia381,所以這里不要選擇安裝。其余的都直接默認或者選擇是即可。
安裝成功后會出現如下界面
===========
= Summary =
===========
Driver: Not Selected Toolkit: Installed in /usr/local/cuda-8.0 Samples: Installed in /home/textminer Please make sure that – PATH includes /usr/local/cuda-8.0/bin – LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA. ***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work. To install the driver using this installer, run the following command, replacing with the name of this run file: sudo .run -silent -driver Logfile is /opt/temp//cuda_install_6583.log
安裝完畢后,再聲明一下環境變量,並將其寫入到 ~/.bashrc 的尾部:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH
重啟電腦
驗證
查看NVCC版本
nvcc -V
,輸出結果如下:

編譯並運行例子
-
進入到Samples安裝目錄,然后在該目錄下
make
,等待十來分鍾。 -
編譯完成后,可以在
Samples
里面找到bin/x86_64/linux/release/
目錄,並切換到該目錄 -
運行
deviceQuery
程序,查看輸出結果如下(重點關注最后一行,Pass表示通過測試):
建議要做的事
之后我們可以安裝一些官方的CUDA例子,來檢驗我們是否安裝成功了。
進入CUDA目錄/usr/local/cuda-8.0/bin,會發現在這個目錄下,有一個名為cuda-install-samples-8.0.sh的文件,在控制台使用命令:
sudo sh cuda-install-samples-8.0.sh "例子被創建的目錄"
我使用的是/home目錄。在我的/home目錄下,有一個NVIDIA_CUDA-8.0_Samples 文件夾,里面就是官方的例子,進入這個目錄,輸入make進行編譯。
sudo make
需要相當長一段時間才能編譯完成。我在編譯第三個sample的時候,遇到了一個錯誤
/usr/bin/ld: cannot find -lnvcuvid
剛開始以為是安裝出錯了,因為之前安裝失敗過一次,又手動把CUDA給卸載了。結果發現,是英偉達顯卡驅動版本不同導致的.在 NVIDIA_CUDA-8.0_Samples/3_Imaging/cudaDecodeGL/findgllib.mk 文件中,
UBUNTU_PKG_NAME = "nvidia-375"
而我的英偉達驅動是381,於是只要把這行代碼改成
UBUNTU_PKG_NAME = "nvidia-381"
就可以了,然后所有的例子都順利的編譯通過了。在編譯完所有例子以后,會提示:
Finished building CUDA samples
之后運行一些例子,編譯好的二進制文件,保存在~/NVIDIA_CUDA-8.0_Samples/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release 中,進入這個目錄,輸入ls,看到很多編譯好的二進制文件。先運行deviceQuery。輸入
sudo ./deviceQuery
可以看到如下運行結果:

在運行bandwidthTest
sudo ./bandwidthTest

到此,CUDA算是已經安裝完畢了。