Help us understand the problem. What is going on with this article?

UbuntuでGPUマシーンを構築する

はじめに

本記事は、Ubuntu(※)でNVIDIAのGPUマシーンを構築する手順についての記事になります。
GPUはGeForce GTX 1080 Tiを使用し、GPUの装着及びOSセットアップが終了していることを前提とします。

(※)本記事のバージョンは18.04

GPUマシーン構築手順

オンプレミスなど自前でGPUマシーンを構築する場合は、NVIDIAのドライバ、CUDA、cuDNN等をインストールする必要があります。本記事では、はじめに環境調査を行い、環境の情報を確認してから構築作業を行います。

環境調査

OSのバージョン情報や認識しているGPUの情報を確認します。

  • リリースファイルの確認
    # cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
  • PCIデバイスの情報確認
    # lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP102 HDMI Audio Controller (rev a1)
02:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)
02:00.1 Audio device: NVIDIA Corporation GP102 HDMI Audio Controller (rev a1)
  • Linuxカーネルが起動時に出力したメッセージの確認(※)
    # dmesg | grep -i nouveau
[    3.549750] fb0: switching to nouveaufb from EFI VGA
[    3.549888] nouveau 0000:01:00.0: NVIDIA GP102 (132000a1)
[    3.662860] nouveau 0000:01:00.0: bios: version 86.02.40.00.1c
[    3.665925] nouveau 0000:01:00.0: fb: 11264 MiB GDDR5X
[    3.706859] nouveau 0000:01:00.0: DRM: VRAM: 11264 MiB
[    3.706860] nouveau 0000:01:00.0: DRM: GART: 536870912 MiB
[    3.706861] nouveau 0000:01:00.0: DRM: BIT table 'A' not found
[    3.706862] nouveau 0000:01:00.0: DRM: BIT table 'L' not found
[    3.706863] nouveau 0000:01:00.0: DRM: TMDS table version 2.0
[    3.706864] nouveau 0000:01:00.0: DRM: DCB version 4.1
[    3.706865] nouveau 0000:01:00.0: DRM: DCB outp 00: 01000f42 00020030
[    3.706866] nouveau 0000:01:00.0: DRM: DCB outp 01: 04811f96 04600020
[    3.706867] nouveau 0000:01:00.0: DRM: DCB outp 02: 04011f92 00020020
[    3.706868] nouveau 0000:01:00.0: DRM: DCB outp 03: 04822f86 04600010
[    3.706868] nouveau 0000:01:00.0: DRM: DCB outp 04: 04022f82 00020010
[    3.706869] nouveau 0000:01:00.0: DRM: DCB outp 06: 02033f62 00020020
[    3.706870] nouveau 0000:01:00.0: DRM: DCB outp 08: 02044f72 00020010
[    3.706871] nouveau 0000:01:00.0: DRM: DCB conn 00: 00001031
[    3.706872] nouveau 0000:01:00.0: DRM: DCB conn 01: 02000146
[    3.706872] nouveau 0000:01:00.0: DRM: DCB conn 02: 01000246
[    3.706873] nouveau 0000:01:00.0: DRM: DCB conn 03: 00020361
[    3.706874] nouveau 0000:01:00.0: DRM: DCB conn 04: 00010461
[    3.997705] nouveau 0000:01:00.0: DRM: MM: using COPY for buffer copies
[    4.557458] nouveau 0000:01:00.0: DRM: allocated 1920x1080 fb: 0x200000, bo 000000005ff6df23
[    4.558310] fbcon: nouveaufb (fb0) is primary device
[    4.558368] nouveau 0000:01:00.0: fb0: nouveaufb frame buffer device
[    4.582450] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0
[    4.582474] nouveau 0000:02:00.0: enabling device (0000 -> 0003)
[    4.582641] nouveau 0000:02:00.0: NVIDIA GP102 (132000a1)
[    4.744164] nouveau 0000:02:00.0: bios: version 86.02.40.00.1c
[    4.764672] nouveau 0000:02:00.0: fb: 11264 MiB GDDR5X
[    4.807651] nouveau 0000:02:00.0: DRM: VRAM: 11264 MiB
[    4.807652] nouveau 0000:02:00.0: DRM: GART: 536870912 MiB
[    4.807653] nouveau 0000:02:00.0: DRM: BIT table 'A' not found
[    4.807654] nouveau 0000:02:00.0: DRM: BIT table 'L' not found
[    4.807654] nouveau 0000:02:00.0: DRM: TMDS table version 2.0
[    4.807655] nouveau 0000:02:00.0: DRM: DCB version 4.1
[    4.807655] nouveau 0000:02:00.0: DRM: DCB outp 00: 01000f42 00020030
[    4.807656] nouveau 0000:02:00.0: DRM: DCB outp 01: 04811f96 04600020
[    4.807657] nouveau 0000:02:00.0: DRM: DCB outp 02: 04011f92 00020020
[    4.807657] nouveau 0000:02:00.0: DRM: DCB outp 03: 04822f86 04600010
[    4.807657] nouveau 0000:02:00.0: DRM: DCB outp 04: 04022f82 00020010
[    4.807658] nouveau 0000:02:00.0: DRM: DCB outp 06: 02033f62 00020020
[    4.807658] nouveau 0000:02:00.0: DRM: DCB outp 08: 02044f72 00020010
[    4.807659] nouveau 0000:02:00.0: DRM: DCB conn 00: 00001031
[    4.807659] nouveau 0000:02:00.0: DRM: DCB conn 01: 02000146
[    4.807660] nouveau 0000:02:00.0: DRM: DCB conn 02: 01000246
[    4.807660] nouveau 0000:02:00.0: DRM: DCB conn 03: 00020361
[    4.807660] nouveau 0000:02:00.0: DRM: DCB conn 04: 00010461
[    5.102674] nouveau 0000:02:00.0: DRM: MM: using COPY for buffer copies
[    5.232820] nouveau 0000:02:00.0: Led nvidia-logo renamed to nvidia-logo_1 due to name collision
[    5.233012] [drm] Initialized nouveau 1.3.1 20120801 for 0000:02:00.0 on minor 1

(※)Ubuntuインストール後は自動的にnouveauドライバがインストールされています。

  • NVIDIAグラフィックカードのモデルと推奨ドライバーを検出(※)
    # ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.1/0000:02:00.0 ==
modalias : pci:v000010DEd00001B06sv00001462sd00003607bc03sc00i00
vendor   : NVIDIA Corporation
model    : GP102 [GeForce GTX 1080 Ti]
driver   : nvidia-driver-390 - distro non-free
driver   : nvidia-driver-430 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

(※)ubuntu-driversコマンドはubuntu-drivers-commonパッケージが提供しています。デスクトップ版の場合は最初からインストールされています。

NVIDIAドライバのインストール

NVIDIAドライバのインストールは、いくつか方法がありますが、本記事では導入時の手間を省くことを目的とし、Ubuntuの公式リポジトリからNVIDIAドライバのパッケージをインストールします。上記で確認したubuntu-drivers devicesコマンドの出力結果より、NVIDIAのドライバはnvidia-driver-430を使用します。

また、それ以外の方法としては、Graphics Drivers TeamのPPAのパッケージをインストールする方法か、NVIDIAのサイトからダウンロードしてインストールする方法があります。捕捉として、Ubuntuの公式リポジトリからパッケージインストールの場合、デスクトップ環境に依存したパッケージがインストールされるため、最小限で最新のドライバをインストールしたい場合は、NVIDIAのサイトからダウンロードする方法がよいでしょう。

  • NVIDIAドライバの検索
    # apt-cache search nvidia-driver-430
nvidia-driver-418 - Transitional package for nvidia-driver-430
nvidia-driver-430 - NVIDIA driver metapackage
nvidia-headless-430 - NVIDIA headless metapackage
nvidia-headless-no-dkms-430 - NVIDIA headless metapackage - no DKMS
xserver-xorg-video-nvidia-430 - NVIDIA binary Xorg driver
  • NVIDIAドライバのインストール  
    # apt-get install nvidia-driver-430

  • OS再起動   
    # systemctl reboot

NVIDIAドライバのインストール後、OS再起動します。
OS再起動後、再度dmesgコマンドを実行し、nouveauのドライバがロードされていないことを確認します。以下のコマンドを実行し、何も出力されなければ大丈夫です。

# dmesg | grep -i nouveau

また、以下のコマンドを実行し、NVIDIAのドライバがロードされていることを確認します。

# dmesg | grep -i nvidia

[    2.821296] nvidia: loading out-of-tree module taints kernel.
[    2.821300] nvidia: module license 'NVIDIA' taints kernel.
[    2.826740] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[    2.831006] nvidia-nvlink: Nvlink Core is being initialized, major device number 235
[    2.831288] nvidia 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[    2.930678] nvidia 0000:02:00.0: enabling device (0000 -> 0003)
[    2.930749] nvidia 0000:02:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none
[    3.030091] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  430.26  Tue Jun  4 17:40:52 CDT 2019
[    3.057316] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  430.26  Tue Jun  4 17:45:09 CDT 2019
[    3.058745] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[    3.058745] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 0
[    3.058778] [drm] [nvidia-drm] [GPU ID 0x00000200] Loading driver
[    3.058778] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:02:00.0 on minor 1
[    3.131390] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 511
[    4.186435] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input17
[    4.186490] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input18
[    4.186543] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input19
[    4.186594] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input20
[    4.186630] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.1/0000:02:00.1/sound/card2/input21
[    4.186680] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.1/0000:02:00.1/sound/card2/input22
[    4.186703] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.1/0000:02:00.1/sound/card2/input23
[    4.186724] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.1/0000:02:00.1/sound/card2/input24
  • モジュールの確認
    # lsmod | grep nvidia
nvidia_uvm            819200  0
nvidia_drm             49152  4
nvidia_modeset       1110016  6 nvidia_drm
nvidia              18792448  289 nvidia_uvm,nvidia_modeset
drm_kms_helper        180224  1 nvidia_drm
drm                   483328  7 drm_kms_helper,nvidia_drm
ipmi_msghandler       102400  2 ipmi_devintf,nvidia
  • nvidia-smiの実行
    # nvidia-smi
Wed Oct 30 14:35:45 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.26       Driver Version: 430.26       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:01:00.0 Off |                  N/A |
|  0%   55C    P8    13W / 280W |     19MiB / 11176MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX 108...  Off  | 00000000:02:00.0 Off |                  N/A |
|  0%   45C    P8    11W / 280W |      2MiB / 11178MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1323      G   /usr/lib/xorg/Xorg                             9MiB |
|    0      1360      G   /usr/bin/gnome-shell                           7MiB |
+-----------------------------------------------------------------------------+

NVIDIAの管理インターフェースであるnvidia-smiコマンドを実行して、NVIDIA GPUの状態を確認します。

CUDAのインストール

CUDA Toolkit Documentationを参照し、インストールしたNVIDIAのドライバに該当するCUDA Toolkitのバージョンを確認した上で、NVIDIAのリポジトリよりダウンロードします。本記事ではCUDA 10.1をダウンロードしています。

スクリーンショット 2019-10-30 19.42.43.png

  • CUDAのダウンロード
    # wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.1.243-1_amd64.deb
--2019-10-30 14:49:46--  https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.1.243-1_amd64.deb
developer.download.nvidia.com (developer.download.nvidia.com) をDNSに問いあわせています... 192.229.232.112, 2606:2800:247:2063:46e:21d:825:102e
developer.download.nvidia.com (developer.download.nvidia.com)|192.229.232.112|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 2936 (2.9K) [application/x-deb]
`cuda-repo-ubuntu1804_10.1.243-1_amd64.deb' に保存中

cuda-repo-ubuntu1804_10.1.243-1_amd64.deb             100%[======================================================================================================================>]   2.87K  --.-KB/s    時間 0s    

2019-10-30 14:49:46 (68.5 MB/s) - `cuda-repo-ubuntu1804_10.1.243-1_amd64.deb' へ保存完了 [2936/2936]

  • CUDAリポジトリパッケージののインストール
    # apt install ./cuda-repo-ubuntu1804_10.1.243-1_amd64.deb
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
注意、'./cuda-repo-ubuntu1804_10.1.243-1_amd64.deb' の代わりに 'cuda-repo-ubuntu1804' を選択します
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  linux-headers-5.0.0-25 linux-headers-5.0.0-25-generic linux-image-5.0.0-25-generic linux-modules-5.0.0-25-generic linux-modules-extra-5.0.0-25-generic
これを削除するには 'apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
  cuda-repo-ubuntu1804
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 91 個。
2,936 B 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 13.3 kB のディスク容量が消費されます。
取得:1 /root/cuda-repo-ubuntu1804_10.1.243-1_amd64.deb cuda-repo-ubuntu1804 amd64 10.1.243-1 [2,936 B]
以前に未選択のパッケージ cuda-repo-ubuntu1804 を選択しています。
(データベースを読み込んでいます ... 現在 221030 個のファイルとディレクトリがインストールされています。)
.../cuda-repo-ubuntu1804_10.1.243-1_amd64.deb を展開する準備をしています ...
cuda-repo-ubuntu1804 (10.1.243-1) を展開しています...
cuda-repo-ubuntu1804 (10.1.243-1) を設定しています ...

The public CUDA GPG key does not appear to be installed.
To install the key, run this command:
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

N: ファイル '/root/cuda-repo-ubuntu1804_10.1.243-1_amd64.deb' がユーザ '_apt' からアクセスできないため、ダウンロードは root でサンドボックスを通さずに行われます。 - pkgAcquire::Run (13: 許可がありません)

上記メッセージが出力されるため、以下のコマンドを実行し、キーをインポートします。

  • キーのインポート
    # apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
Executing: /tmp/apt-key-gpghome.joPy79ZHg7/gpg.1.sh --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
gpg: 鍵を'http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub'から要求
gpg: 鍵F60F4B3D7FA2AF80: 公開鍵"cudatools <cudatools@nvidia.com>"をインポートしました
gpg: 処理数の合計: 1
gpg:               インポート: 1
  • パッケージのアップデート
    # apt-get update
ヒット:1 http://archive.ubuntulinux.jp/ubuntu bionic InRelease
ヒット:2 http://jp.archive.ubuntu.com/ubuntu bionic InRelease                                                                                                                                               
ヒット:3 http://archive.ubuntulinux.jp/ubuntu-ja-non-free bionic InRelease                                                                                                                                          
取得:4 http://jp.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]                                                                                                                                       
無視:5 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  InRelease                                                                                                                 
取得:6 http://jp.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]                                                                                                                                    
取得:7 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  Release [564 B]                                                                                                                   
取得:8 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  Release.gpg [819 B]                                                                                                               
無視:9 http://dl.google.com/linux/chrome/deb stable InRelease                                                                                                                                                       
ヒット:10 http://packages.microsoft.com/repos/vscode stable InRelease                                                  
取得:11 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [767 kB]                                
取得:12 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]                                            
取得:13 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main i386 Packages [600 kB]                                                              
取得:14 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main amd64 DEP-11 Metadata [295 kB]                                                        
ヒット:15 http://dl.google.com/linux/chrome/deb stable Release                                                                                                
取得:16 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  Packages [119 kB]                                                          
取得:18 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main DEP-11 48x48 Icons [73.8 kB]                                                                      
取得:19 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main DEP-11 64x64 Icons [143 kB]
取得:20 http://jp.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 DEP-11 Metadata [254 kB]
取得:21 http://jp.archive.ubuntu.com/ubuntu bionic-updates/universe DEP-11 48x48 Icons [196 kB]        
取得:22 http://jp.archive.ubuntu.com/ubuntu bionic-updates/universe DEP-11 64x64 Icons [431 kB]   
取得:23 http://jp.archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 DEP-11 Metadata [2,468 B]
取得:24 http://jp.archive.ubuntu.com/ubuntu bionic-backports/universe amd64 DEP-11 Metadata [7,920 B]
取得:25 http://security.ubuntu.com/ubuntu bionic-security/main amd64 DEP-11 Metadata [38.5 kB]                                             
取得:26 http://security.ubuntu.com/ubuntu bionic-security/main DEP-11 48x48 Icons [17.6 kB]
取得:27 http://security.ubuntu.com/ubuntu bionic-security/main DEP-11 64x64 Icons [41.5 kB] 
取得:28 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 DEP-11 Metadata [42.1 kB]
取得:29 http://security.ubuntu.com/ubuntu bionic-security/universe DEP-11 48x48 Icons [16.4 kB]  
取得:30 http://security.ubuntu.com/ubuntu bionic-security/universe DEP-11 64x64 Icons [111 kB]
取得:31 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 DEP-11 Metadata [2,464 B]
3,411 kB を 5秒 で取得しました (640 kB/s)                         
パッケージリストを読み込んでいます... 完了
  • CUDAのインストール(※)
    # apt install --no-install-recommends cuda-10-1

(※)no-install-recommendsオプションで必要最低限なパッケージのみをインストール

  • パッケージの確認
    # dpkg -l | grep cuda

  • CUDAのパスを.bashrcファイルに追加

export PATH=$PATH:/usr/local/cuda-10.1/bin/
  • .bashrcファイルの反映
    # source ~/.bashrc

  • CUDAのバージョン確認
    # nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

cuDNNのインストール

cuDNNはUbuntuの公式パッケージとして提供されていないため、NVIDIAのアカウントを作成し、cuDNN Archiveよりダウンロードします。ダウンロード後、GPUマシーンにファイル転送します。

スクリーンショット 2019-10-30 19.45.15.png

ファイル転送後、debファイルがあるディレクトリで以下のコマンドを実行し、cuDNNをインストールします。

  • cuDNNのインストール
    # dpkg -i libcudnn7_7.6.3.30-1+cuda10.1_amd64.deb
以前に未選択のパッケージ libcudnn7 を選択しています。
(データベースを読み込んでいます ... 現在 235666 個のファイルとディレクトリがインストールされています。)
libcudnn7_7.6.3.30-1+cuda10.1_amd64.deb を展開する準備をしています ...
libcudnn7 (7.6.3.30-1+cuda10.1) を展開しています...
libcudnn7 (7.6.3.30-1+cuda10.1) を設定しています ...
libc-bin (2.27-3ubuntu1) のトリガを処理しています ...

# dpkg -i libcudnn7-dev_7.6.3.30-1+cuda10.1_amd64.deb

(データベースを読み込んでいます ... 現在 235672 個のファイルとディレクトリがインストールされています。)
libcudnn7-dev_7.6.3.30-1+cuda10.1_amd64.deb を展開する準備をしています ...
libcudnn7-dev (7.6.3.30-1+cuda10.1) で (7.6.3.30-1+cuda10.1 に) 上書き展開しています ...
libcudnn7-dev (7.6.3.30-1+cuda10.1) を設定しています ...
update-alternatives: /usr/include/cudnn.h (libcudnn) を提供するために自動モードで /usr/include/x86_64-linux-gnu/cudnn_v7.h を使います

# dpkg -i libcudnn7-doc_7.6.3.30-1+cuda10.1_amd64.deb

以前に未選択のパッケージ libcudnn7-doc を選択しています。
(データベースを読み込んでいます ... 現在 235672 個のファイルとディレクトリがインストールされています。)
libcudnn7-doc_7.6.3.30-1+cuda10.1_amd64.deb を展開する準備をしています ...
libcudnn7-doc (7.6.3.30-1+cuda10.1) を展開しています...
libcudnn7-doc (7.6.3.30-1+cuda10.1) を設定しています ...

cuDNNは、libcudnn7_7.6.3.30-1+cuda10.1_amd64.debからインストールします。
以下は、依存関係によりインストールの順番で失敗した例になります。

以前に未選択のパッケージ libcudnn7-dev を選択しています。
(データベースを読み込んでいます ... 現在 235660 個のファイルとディレクトリがインストールされています。)
libcudnn7-dev_7.6.3.30-1+cuda10.1_amd64.deb を展開する準備をしています ...
libcudnn7-dev (7.6.3.30-1+cuda10.1) を展開しています...
dpkg: 依存関係の問題により libcudnn7-dev の設定ができません:
 libcudnn7-dev は以下に依存 (depends) します: libcudnn7 (= 7.6.3.30-1+cuda10.1) ...しかし:
  パッケージ libcudnn7 はまだインストールされていません。

dpkg: パッケージ libcudnn7-dev の処理中にエラーが発生しました (--install):
 依存関係の問題 - 設定を見送ります
処理中にエラーが発生しました:
 libcudnn7-dev
  • パッケージの確認
    # dpkg -l | grep cudnn
ii  libcudnn7                                  7.6.3.30-1+cuda10.1                          amd64        cuDNN runtime libraries
ii  libcudnn7-dev                              7.6.3.30-1+cuda10.1                          amd64        cuDNN development libraries and headers
ii  libcudnn7-doc                              7.6.3.30-1+cuda10.1                          amd64        cuDNN documents and samples

おわりに

パブリッククラウドでGPUインスタンスを構築する場合は、各クラウドサービスが提供するマシンイメージが用意されているので、マシンイメージを利用するのも一つの選択です。

例としてAWSのバージニア北部リュージョンでは、GPUの使用料金が日本リュージョンと比べると安いので、導入時はしっかりとコストを見積もりましょう。また、同時にGPUインスタンスを複数台起動しようとすると、制限が行われているため以下の様なメッセージが出力され起動に失敗します。

You have requested more instances (2) than your current instance limit of 1 allows for the specified instance type. Please visit http://aws.amazon.com/contact-us/ec2-request to request an adjustment to this limit.

上記メッセージが出力された場合は、メッセージに出力されるURLよりWebのサポートから申請します。電話がかかってきて確認が出来次第、利用ができます。

オンプレミスにしろクラウドにしても、GPUマシーンを利用する場合は計画的に準備を行い利用しましょう。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした