9. 参考資料(ドライバー/ライブラリ)

GPUカード搭載のサーバにてMANUFACIA(通常版)を動作させる為には、CUDA並びにNVIDIA Driverがインストールされている環境が必要です。 ドライバーやライブラリは一部ハードウェア依存するものがあったり、それぞれのバージョンの組み合わせが問題となることもあり、必ずしも動作を保証するものではありません。 以下、インストールやアンインストールの際に必要なコマンドを参考までにご紹介します。

9.1. ドライバー/ライブラリのインストール

9.1.1. 現在MANUFACIA v2.0/v2.1/v2.1.2をお使いの場合

既にCUDA10.x等がインストールされている場合は、以下の手順でNVIDIA Driver/CUDA のアンインストールを行ない、NVIDIA‐Driverを更新してください。 インストールされているドライバやライブラリのバージョンの確認方法はこちらを参照してください。

CUDA、Nvidiaドライバのバージョンが所望の通りか、以下のコマンドを利用して確認できます。

# docker exec -it manufacia_app_1 bash
:~/rb#cat public/docker-build-conf.txt

[表示結果例]
BASE_IMAGE: nvidia/cuda:11.0.3-base-ubuntu18.04-sha256:286bf9986338ef4270411c8608db9b20333d6206bbc2a26808ab78d6af2a1efe
COMPOSE_FILE: /nix/store/fx3wiq56nnxwxcajvwbfcwanjpkyjipy-docker-compose.gpu.yaml
CUDA_VERSION: 11.0.3
DOCKER_IMAGE: manufacia:2.3.0-gpu
RAILS_ENV: production
USE_GPU: true

:~/rb# nvidia-smi

[表示結果例] (このCUDAバージョンはあくまで参考値で、必ずしも上記の出力とは一致しません)
Wed Jun 22 06:42:12 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.91.03    Driver Version: 460.91.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+

ドライバー等のインストール後はシステムを再起動し、NVIDIA Dockerの動作確認を行ってください。

$ sudo reboot
$ service docker start 

9.1.2. 初めてMANUFACIAをお使いの場合

9.1.2.1. Docker関連

  • Docker安定版

$ sudo curl https://get.docker.com | sh
  • Docker Compose 1.26.0

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
  • NVIDIA Driver 460.91.03

NVIDIAの公式サイト(https://www.nvidia.co.jp/download/driverResults.aspx/177692/jp)の[製品ラポートリスト]タブで、ご使用予定のハードウェアが間違いなくサポートされていることをご確認ください。その後、その上にある[ダウンロード]ボタンをクリックしてドライバをダウンロードしてください。

このドライバをインストール前に、以下の手順でデフォルトで設定されているOSSドライバ(nouveau)を無効化します。

$ sudo vi /etc/modprobe.d/blacklist-nouveau.conf

blacklist-nouveau.conf 内に以下の2行を追加します。

blacklist nouveau
options nouveau modeset=0

変更した内容でシステムを更新し、再起動します。

$ sudo update-initramfs -u
$ reboot

先ほどダウロードしたファイル (NVIDIA-Linux-x86_64-460.91.03.run)を実行してドライバや必要なアプリケーションをインストールします。

$ chmod +x NVIDIA-Linux-x86_64-460.91.03.run
$ sudo ./NVIDIA-Linux-x86_64-460.91.03.run

インストール後はシステムを再起動してください。

  • NVIDIA Docker 2.3.0-1

$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
$ sudo apt update
$ sudo apt install -y nvidia-docker2=2.3.0-1

NVIDIA Dockerをインストール後にシステムを再起動し、以下のコマンドを実行して所定のドライバ情報が表示されることを確認してください。

$ sudo docker run --runtime=nvidia --rm nvidia/cuda:11.1-base nvidia-smi

9.2. ドライバー/ライブラリのバージョン確認方法

ドライバーやライブラリが動作確認の採れたバージョンかどうかは推奨システム要件で確認してください。

  • Docker

$ docker version

->無応答の場合には

(1) dockerを起動してください。

$ service docker start

(2) バージョンが異なる場合には、推奨動作環境のバージョンをインストールして下さい。

  • docker-compose

$ docker-compose --version

->無応答の場合には

$ systemctl enable docker
  • NVIDIA Driver

$ nvidia-smi

->推奨動作環境のCUDAバージョンが貴社のGPUサーバーのGPUカードをサポートしていない可能性もあります。

  • CUDA

$ ls -l /usr/local | grep cuda
  • nvidia-docker

$ nvidia-docker -v

上記のドライバーやライブラリのバージョンが推奨されているものと異なる場合には、以下の手順でアンインストール、そして指定のバージョンのインストールをお願いします。

9.3. ドライバー/ライブラリのアンインストール

  • NVIDIA Driver/CUDA

$ sudo apt purge cuda*
$ sudo apt purge nvidia-*
$ sudo apt purge libcuda*
$ sudo apt-get purge libnvidia*
$ sudo apt autoremove
$ reboot
  • Docker

$ sudo yum remove docker-ce
$ sudo apt-get remove docker docker-engine docker.io containerd runc
$ sudo rm -rf /var/lib/docker
$ sudo apt autoremove
  • Docker Compose

$ sudo rm /usr/local/bin/docker-compose