1. 程式人生 > >Ubuntu 16.04 LTS + CUDA8.0 + cudnn6.0

Ubuntu 16.04 LTS + CUDA8.0 + cudnn6.0

簡介

本文記錄本人安裝CUDA的方法及過程中,以及出現的一些問題及解決辦法。本人習慣於參考官方手冊,這裡主要參考 NVIDIA CUDA 官方手冊 進行安裝,其中包含了CUDA開發的幾乎所有文件手冊,如何在 Linux 系統上的安裝CUDA參見: CUDA Linux Inatallation

參考手冊:

軟體環境:Ubuntu 16.04LTS
硬體環境:1080TI

GPU浮點計算能力換算

參考

理論峰值 = GPU晶片數量*GPU Boost主頻*核心數量*單個時鐘週期內能處理的浮點計算次數

只不過在GPU裡單精度和雙精度的浮點計算能力需要分開計算,以最新的Tesla P100為例:

雙精度理論峰值 = FP64 Cores * GPU Boost Clock * 2 = 1792 *1.48GHz*2 = 5.3 TFlops

單精度理論峰值 = FP32 cores * GPU Boost Clock * 2 = 3584 * 1.58GHz * 2 = 10.6 TFlops

安裝

安裝前請先參考 注意事項 部分………………………………..

下載

先給出下載連結:

這裡 選擇作業系統並下載 run 格式的 CUDA開發套件,以及顯示卡驅動檔案(一個檔案,如:cuda_8.0.61_375.26_linux.run),如下圖所示:

選擇檔案並下載CUDA

這裡下載CUDNN,如 cudnn-8.0-linux-x64-v6.0.tgz,並解壓得到 cudnn-8.0-linux-x64-v6.0 資料夾,裡面僅包含一個 cuda 資料夾。

準備

參考這裡 確認你的PC機上裝有NVIDIA CUDA可計算顯示卡、支援的Linux版本系統、GCC等等。如果已確認,可飛過。

安裝CUDA

禁用 Nouveau 驅動

執行 lsmod | grep nouveau 命令,無論輸出什麼,都說明nouveau驅動已載入,Ubuntu系統中,通過如下步驟禁用nouveau驅動。

  1. 建立 /etc/modprobe.d/blacklist-nouveau.conf
    檔案,輸入如下內容並儲存:
blacklist nouveau
options nouveau modeset=0
  1. 重新生成kernel initrd
    終端執行: sudo update-initramfs -u

提示成功後,往下看…

進入文字模式

  1. 進入文字模式:快捷鍵 Ctrl + Alt + F1 ,輸入使用者名稱密碼登入系統。再次確保 nouveau 驅動沒有被載入 (命令:lsmod | grep nouveau 什麼也不輸出代表已禁用)。

  2. 關閉X server服務: sudo service lightdm stop

執行安裝

終端進入你下載的 run格式CUDA開發套件所在資料夾,執行該檔案進行安裝,命令示例如下,注意你的版本:

sudo sh cuda_<version>_linux.run
如:
sudo sh cuda_8.0.61_375.26_linux.run

在彈出的文字模式互動頁面,按 Q 鍵退出文件檢視,並根據提示輸入 accept 接受協議。

之後根據自己需要,按提示設定,如安裝路徑等等。一般預設即可,但 注意: 安裝過程中,不要選擇OpenGL,否則會出現,迴圈進入登入介面 ,本人選擇安裝 CUDA Samples(建議安裝,待會會藉助它檢視是否安裝成功,及顯示卡資訊),並安裝在 Documents 資料夾下。

等待安裝完成即可…

新增環境變數

注意:此環境變數為64位系統下的,32位的把lib64改成lib即可。

  • 方式1,僅修改使用者變數
# setting the environment variables so CUDA will be found

echo "\nexport PATH=/usr/local/cuda-8.0/bin:$PATH" >> ~/.bashrc
echo "\nexport LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
  • 方式2,修改所有使用者變數

先使用sudo gedit /etc/profile開啟“profile”檔案,或者 sudo gedit ~/.bashrc 開啟“./bashrc”檔案,然後在開啟的檔案的末尾新增如下程式碼並儲存:

# setting the environment variables so CUDA will be found
# After open profile, Add follow code at the end of file
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

載入新的環境變數

新增好環境變數後,需要載入新的環境變數,才能應用於系統。

載入更新環境變數 source ~/.bashrc(方式1),source /etc/profilesource ~/.bashrc(方式2)。或者重新開啟終端,或者乾脆重啟系統 ~.~

注:如果你沒有重啟系統,還需要重啟 X server 服務:sudo service lightdm start 進入圖形介面。

現在,你可以關機,並取下亮機卡 了 ~.~

檢視CUDA裝置

終端進入你的 CUDA Samples安裝目錄,執行編譯後執行 ./deviceQuery 輸出顯示卡裝置等資訊。

cd NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery
make
./deviceQuery

輸出的資訊 , 成功看到類似資訊代表驅動及開發套件安裝成功,下面安裝CUDNN:


 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 2 CUDA Capable device(s)

Device 0: "GeForce GTX 1080 Ti"
  CUDA Driver Version / Runtime Version          8.0 / 8.0
  CUDA Capability Major/Minor version number:    6.1
  Total amount of global memory:                 11172 MBytes (11715084288 bytes)
  (28) Multiprocessors, (128) CUDA Cores/MP:     3584 CUDA Cores
  GPU Max Clock rate:                            1582 MHz (1.58 GHz)
  Memory Clock rate:                             5505 Mhz
  Memory Bus Width:                              352-bit
  L2 Cache Size:                                 2883584 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
  Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 2 copy engine(s)
  Run time limit on kernels:                     No
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 3 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

Device 1: "GeForce GTX 1080"
  CUDA Driver Version / Runtime Version          8.0 / 8.0
  CUDA Capability Major/Minor version number:    6.1
  Total amount of global memory:                 8111 MBytes (8504868864 bytes)
  (20) Multiprocessors, (128) CUDA Cores/MP:     2560 CUDA Cores
  GPU Max Clock rate:                            1734 MHz (1.73 GHz)
  Memory Clock rate:                             5005 Mhz
  Memory Bus Width:                              256-bit
  L2 Cache Size:                                 2097152 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
  Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 2 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
> Peer access from GeForce GTX 1080 Ti (GPU0) -> GeForce GTX 1080 (GPU1) : No
> Peer access from GeForce GTX 1080 (GPU1) -> GeForce GTX 1080 Ti (GPU0) : No

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 8.0, NumDevs = 2, Device0 = GeForce GTX 1080 Ti, Device1 = GeForce GTX 1080

安裝CUDNN

CUDNN是NVIDIA公司針對深度神經網路,開發的基於CUDA的計算庫,用於加速計算,這裡安裝版本為6.0,目前最新為7.0,但安裝方式不變,且十分簡單。

1.解壓:進入“cudnn-8.0-linux-x64-v6.0.tgz”所在目錄,將檔案解壓,如下:

#注意修改成你的目錄
cd /home/liu/sfw
#解壓
tar zxvf  cudnn-8.0-linux-x64-v6.0.tgz

2.copy檔案至CUDA安裝目錄:解壓後,在你的目錄下生成一個“cuda”資料夾,對於cuDNN6.0的版本解壓後生成“cudnn-8.0-linux-x64-v6.0”檔案。使用如下命令copy,注意第二個有個-a引數,否則,拷貝過去的檔案失去了連結。

# copy the library files into CUDA's include and lib folders
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp -a cuda/lib64/libcudnn* /usr/local/cuda/lib64

cuDNN安裝完成。~-~

注意事項

準備另外一塊顯示卡

有好些主機板上沒有集顯,而Ubuntu自帶的 nouveau 驅動不支援1080/1080Ti等新架構的顯示卡,所以需要準備一塊老點的顯示卡,如: NVIDIA K2200 等。先把該顯示卡插到主機板上,然後按上述教程安裝CUDA驅動和 CUDNN,安裝好後,可以拔下該顯示卡,換上你的高階顯示卡即可。

迴圈進登入介面

有些童鞋安裝好CUDA重啟後會發現:電腦不斷地在登入介面迴圈,這是由於安裝時選擇安裝了 OpenGL ,參考這裡,安裝時按照上述步驟, 不選擇安裝OpenGL即可以前使用壓縮命令壓縮備份系統後再恢復,也會出現該現象,後來重灌了系統。

相關推薦

[安裝教程] Ubuntu 16.04 LTS + cuda8.0 + cudnn6.0 + python3.5 + tensorfow1.4

寫在前面:請一定按照題目上的版本進行安裝,因為安裝的其他版本之間的搭配均以失敗告終! 配置GPU版本的tensorflow真心時累啊,經歷了版本不對,迴圈登入,等等問題。終於安裝成功,在這記錄一下過程,

Ubuntu 16.04 LTS + CUDA8.0 + cudnn6.0

簡介 本文記錄本人安裝CUDA的方法及過程中,以及出現的一些問題及解決辦法。本人習慣於參考官方手冊,這裡主要參考 NVIDIA CUDA 官方手冊 進行安裝,其中包含了CUDA開發的幾乎所有文件手冊,如何在 Linux 系統上的安裝CUDA參見: C

Tensorflow Pytorch GPU安裝(Ubuntu 16.04 anaconda cuda8.0 cuDNN6.0)

1. 安裝python(Anaconda) python環境使用anaconda 從官方網站下載作業系統對應的版本 chmod +x Anaconda3-5.0.1-Linux-x86_64.sh ./Anaconda3-5.0.1-Linux-x86_64.sh

Ubuntu 16.04 安裝CUDA8.0+Cudnn6.0+TensorFlow+Caffe安裝

參考部落格: Ubuntu16.04 Caffe 安裝步驟記錄(超詳盡):http://blog.csdn.net/yhaolpz/article/details/71375762 ubuntu16.04安裝caffe:http://blog.csdn.net/u011272513/ar

Ubuntu 16.04 LTS 上安裝 Python 3.6.0

tty article print spa blog sdn number ins 6.0 轉自(http://blog.csdn.net/Wangdada111/article/details/73382537?locationNum=2&fps=1) 安裝:

[Android 編譯(一)] Ubuntu 16.04 LTS 成功編譯 Android 6.0 原始碼教程

1 前言 經過3天奮戰,終於在Ubuntu 16.04上把Android 6.0的原始碼編譯出來了,各種配置,各種error,各種爬坑,特寫此部落格記錄爬坑經歷。先上圖,Ubuntu上編譯完後成功執行模擬器,如圖: 2 編譯環境 UbuntuKy

ubuntu 16.04 +caffe+cuda8.0+anaconda2安裝

該部落格前提條件是cuda已經安裝完成,關於cuda安裝上一篇部落格有介紹 1.先下載caffe 2.caffe 依賴檔案 sudo apt-get install libatlas-base-dev sudo apt-get install

Install MySQL 8.0 to Ubuntu 16.04 LTS

1. config apt repository download [email protected] ~/Downloads/Firefox $ wget https://repo.mysql.com//mysql-apt-config_0.

Ubuntu 16.04下安裝 virtualbox 5.0/5.1

不知道為什麼,下載好官方的安裝包之後安裝總是儲存。我放棄了官方的安裝包,想辦法從其他地方安裝。軟體商店試過,一直在安裝,似乎卡住了,最後是通過添加了一個源的方式才裝上的~ 這裡放上安裝的過程 sudo sh -c 'echo "deb http://download.virtua

Ubuntu 16.04 上安裝 CUDA 9.0 詳細教程

#!/bin/bash /sbin/modprobe nvidia if [ "$?" -eq 0 ]; then # Count the number of NVIDIA controllers found. NVDEVS=`lspci | grep -i NVIDIA` N3D=`echo "$NVDEV

Ubuntu 16.04下安裝Cuda 8.0, Anaconda 4.4.0和TensorFlow 1.2.1

原文連結:http://blog.csdn.net/jinzhuojun/article/details/77140806 Cuda 如果配了Nvidia卡的,可以考慮安裝Cuda,這樣之後可以用GPU加速。之前寫過一篇在Ubuntu 14.04上裝Cuda 7.5的文章(

Ubuntu 16.04安裝tensorflow_gpu 1.9.0的方法

說明:本文寫作之時(2018年7月25日)tensorflow 1.9.0不支援CUDA 9.1、CUDA 9.2,僅支援CUDA 9.0。 原以為按照TensorFlow官方幫助文件安裝TensorFlow GPU版會比較順利,結果發現自己又想多了。安

ubuntu 16.04 安裝opencv 3.2.0

環境: Ubuntu 16.04 64bit ,openCV 3.2.0 1.安裝opencv依賴包 GCC 4.4.x or later CMake 2.6 or higher Git GTK+2.x or higher, including heade

Ubuntu 16.04 LTS 安裝 miniconda

mini style 3.6 nbsp 設置 cond 根據 下載鏈接 inux Ubuntu 16.04 LTS 安裝 miniconda 下載 miniocnda 的 bash 文件下載鏈接 https://conda.io/miniconda.html ,我選擇的是

Ubuntu 16.04 LTS 安裝libvips出現”Package vips was not found in the pkg-config search path”

arp dir exp export ron per gconf 部署 director 使用libvips來操作圖像,libvips的部署參考一個Node.js工程:https://github.com/lovell/sharp 在MAC下安裝很順利,到Linux環境下(

Ubuntu 16.04 LTS安裝Mattermost

mattermost 安裝 setup install 可以在一臺到三臺機器上安裝產品級別的Mattermost系統;主要有三個重要組件:proxy、數據庫、Mattermost;可以把它們安裝在一臺機器上或者各自一臺,如果只有兩臺機器,那麽可以把proxy和Mattermost安裝在

Ubuntu 16.04 LTS安裝Mattermost(二)

mattermost 在Ubuntu 16.04 LTS安裝Mattermost(一) 在Ubuntu 16.04 LTS安裝Mattermost(二)配置Mattermost 創建系統管理員用戶,設置Mattermost的一般用途 .打開瀏覽器,導航到Mattermost實例.比如:Matter

Ubuntu 16.04 LTS GNOME版本下載

file http logs 要求 amd com 技術 障礙 開心 下載地址: http://cdimage.ubuntu.com/ubuntu-gnome/releases/ Ubuntu GNOME發行版本啟動已經有三年的時間了,在社區用戶對於在穩定可靠的Ub

Ubuntu 16.04 LTS上安裝Shadowsocks

shadowsocks1、安裝Shadowsocks$ sudo apt-get update $ sudo apt-get install python-gevent python-pip python-m2crypto python-wheel python-setuptools $ sudo pip i

[Mini2440 - 003] 搭建開發環境 - 獲取 Ubuntu 16.04 LTS

火狐 直接 需要 lac blog 開始 百度 由於 心情 一、從 Ubuntu 官網獲取目前(2017-10-06)最新的 Ubuntu 16.04.3 LTS 版本。   1. 百度搜索 ubuntu 關鍵字,進入 ubuntu 官網。      2. Ubuntu 為