7. 参考資料(ドライバー/ライブラリ)
ドライバーやライブラリは一部ハードウェア依存するものがあったり、それぞれのバージョンの組み合わせで動作しないことがありますので、必ずしも動作を保証するものではありません。
7.1. ドライバー/ライブラリのバージョン確認方法
ドライバーやライブラリが動作確認の採れたバージョンかどうかは推奨システム要件で確認してください。
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
上記のドライバーやライブラリのバージョンが推奨されているものと異なる場合には、以下の手順でアンインストール、
そして指定のバージョンのインストールをお願いします。
7.2. ドライバー/ライブラリのアンインストール
CUDA
$ sudo apt purge cuda*
$ sudo apt purge nvidia-cuda-*
$ sudo apt purge libcuda*
$ 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
Nvidia-Driver
$ sudo apt-get purge nvidia-*
$ sudo apt-get purge libnvidia*
7.3. ドライバー/ライブラリのインストール
7.3.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 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
7.3.2. CUDA、及びNvidia-Driver
GPUカード搭載のサーバにてMANUFACIA(通常版)を動作させる為には、CUDA並びにNvidia-Driverがインストールされている環境が必要となります。以下、インストールのコマンドを参考として記載します。
7.3.2.1. 現在MANUFACIA v2.0/v2.1/v2.1.2をお使いの場合
既にCUDA10.x等がインストールされており、依存関係を解消する必要がある場合には、以下のコマンドをお使い下さい。
# sudo apt-get purge nvidia-*
# sudo apt-get purge cuda-*
7.3.2.2. 当該サーバのGPUカードに対応したDriverの調査
以下のコマンドを使うことで、現時点で対応しているドライバーがリスト表示されます。
# ubuntu-drivers devices
上記のコマンドでエラーが出る場合には、以下のコマンドでインストールします。
# apt install ubuntu-drivers-common
ubuntu-drivers devices での返値例
vendor: NVIDIA Corporation
driver: nvidia-driver-460-third-party free recommended
driver: nvidia-driver-415-third-party free
7.3.2.3. Nvidia-Driverのインストール
以下のコマンドを使うことで、所定のNvidia-Driverがインストールされます。
# sudo apt-get install nvidia-driver-455
既にインストール済のDriverの依存関係が解消できない場合には、以下のコマンドをご使用下さい。
# sudo aptitude install nvidia-driver-455
7.3.2.4. CUDA 11.1のインストール
以下のコマンドを使用してCUDA 11.1をインストールします。
# sudo apt install cuda-11-1
または
# sudo apt-get install cuda-11-1
エラーメッセージなどによっては、以下のコマンドも使用しCUDA11をインストール。
# sudo apt --fix-broken install
ホームディレクトリにある設定ファイル .bashrc を以下の要領で編集した後に、サーバを再起動 (sudo reboot
)します。ファイルの編集に用いるエディタ、ツールは種別を問いません。
設定ファイルに以下の行を追加します。
# set PATH for cuda 11.1 installation
if [ -d "/usr/local/cuda-11.1/bin/" ]; then
export PATH=/usr/local/cuda-11.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi
CUDA、Nvidiaドライバのバージョンが所望の通りか、以下のコマンドを利用して確認できます。
# docker exec -it manufacia_app_1 bash
:~/rb#cat public/docker-build-conf.txt
[表示結果例]
BASE_IMAGE: nvidia/cuda:9.2-base-ubuntu18.04-sha256:e2caae08d28e7026f7ce5334a7375c306b2279fc5a47ef031be4262e0e4e394a
COMPOSE_FILE: /nix/store/b35biq54rnby9aabnsz8rga84fpfbqrm-docker-compose.gpu.yaml
CUDA_VERSION: 11.1
DOCKER_IMAGE: manufacia:2.1.3-gpu
RAILS_ENV: production
USE_GPU: true
:~/rb# nvidia-smi
[表示結果例] (このCUDAバージョンは参考値で、必ずしも上記の出力とは一致しない)
+-------------------------------------------------------------------------+
| NVIDIA-SMI 455.32.00 Driver Version: 455.32.00 CUDA Version: 11.1 |
|-------------------------------+----------------------+------------------+
ドライバー等のインストール後はシステムを再起動し、NVIDIA Dockerの動作確認を行ってください。
$ sudo reboot
$ service docker start