589 瀏覽數

Nvidia GPU Tesla Driver + CUDA Toolkit

測試環境為 Ubuntu 16.04 x86_64

從 Nvidia 下載驅動程式(含 CUDA Toolkit) http://www.nvidia.com/download/driverResults.aspx/124729/en-us ,依著下列步驟,即可以完成安裝.

Tesla 支援列表:

  • V-Series:
    Tesla V100 (CUDA Toolkit 9.0)
  • P-Series:
    Tesla P100, Tesla P40, Tesla P6, Tesla P4 (CUDA Toolkit 8.0 , 9.0)
  • K-Series:
    Tesla K80, Tesla K40c, Tesla K40m, Tesla K40s, Tesla K40st, Tesla K40t, Tesla K20Xm, Tesla K20m, Tesla K20s, Tesla K20c, Tesla K10, Tesla K8 (CUDA Toolkit 7.0 , 7.5 , 8.0 , 9.0)
  • C-Class:
    Tesla C2075, Tesla C2070, Tesla C2050 (CUDA Toolkit 7.0 , 7.5 , 8.0 , 9.0)
  • M-Class:
    M60, M40 24GB, M40, M6, M4, M2090, M2075, M2070, M2070-Q, M2050 (CUDA Toolkit 8.0 , 9.0)
  • X-Class:
    Tesla X2070, Tesla X2090 (CUDA Toolkit 7.0 , 7.5 , 8.0 , 9.0)
root@ubuntu:~# dpkg -i nvidia-diag-driver-local-repo-ubuntu1604-384.81_1.0-1_amd64.deb
root@ubuntu:~# apt-get update
root@ubuntu:~# apt-get install cuda-drivers
root@ubuntu:~# reboot

不過安裝完成之後,使用一般使用者在 GUI 登入後會立即回到登入畫面,使用 root 登入系統會多顯示如下的錯誤.

Error found when loading /root/.profile
mesg: ttyname failed: Inappropriate ioctl for device
As result the session will not be configured correctly.
You should fix the problem as soon as feasible.

檢視 /var/log/syslog 會有下列的錯誤

Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

目前看起來沒有解.

如果要使用 GUI 的程式可以利用 SSH X11 Forwarding – http://benjr.tw/304#x ,或是其他遠端桌面請參考 http://benjr.tw/3318

多網段還需要設定 Routing table ,請參考 http://benjr.tw/74430

nvidia-smi

要怎麼確認你的裝置運作正常,可以先透過 lspci 檢視裝置是否正確顯示.

root@benben:~# lspci | grep -i nvidia
86:00.0 3D controller: NVIDIA Corporation Device 15f8 (rev a1)

接著透過 Nvidia 所提供的 nvidia-smi(NVIDIA System Management Interface)工具檢查驅動程式與 GPU 的資訊.

root@benben:~# nvidia-smi 
Wed Nov  8 09:44:55 2017       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.90                 Driver Version: 384.90                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla P100-PCIE...  Off  | 00000000:86:00.0 Off |                    0 |
| N/A   37C    P0    33W / 250W |      0MiB / 16276MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

參數
-L, –list-gpus
列出系統裡所有的 NVDIA GPUs.
-q, –query
把系統的 GPU unit 所有資訊顯示出來.

如果需要詳細的資訊可以使用 –query-gpu ,至於要顯示哪一些詳細的資訊,可以先用參數 –help-query-gpu 查詢.
–help-query-gpu
顯示哪一些詳細的資訊可以查詢.
–query-gpu
要顯示哪一些詳細的資訊.

root@benben:~# nvidia-smi --help-query-gpu
root@benben:~# nvidia-smi --format=csv --query-gpu=utilization.gpu,power.draw,temperature.gpu 
utilization.gpu [%], power.draw [W], temperature.gpu
0 %, 33.17 W, 37

要長時間觀察可以加入 -l SEC (每 # 秒顯示一次)

root@benben:~# nvidia-smi -l 5 --format=csv --query-gpu=utilization.gpu,power.draw,temperature.gpu 

-l SEC
每 # 秒顯示一次.

發表迴響