#はじめに
本記事は、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をダウンロードしています。
- 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マシーンにファイル転送します。
ファイル転送後、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マシーンを利用する場合は計画的に準備を行い利用しましょう。