MENU
A.I. とか最近流行っているらしいよ

Centos7.7で Docker のコンティナーをGPU使用するためのセットアップ

2020 5/14
Centos7.7で Docker のコンティナーをGPU使用するためのセットアップ
STEP
ホスト側の設定

Dockerのコンテイナーを起動するホスト側での下準備

STEP
コンティナー内の設定

ホスト側が設定終わったら、tensorflow など GPU使えるようにコンティナー内での準備

ホスト側の設定

下記のコマンドでkernel と開発パッケージをインストールする
参考:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions

sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)

次に CUDA TOOLKIT を入れる
参考:https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=rpmnetwork

sudo yum-config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
sudo yum clean all
sudo yum -y install nvidia-driver-latest-dkms cuda
sudo yum -y install cuda-drivers

Env Path 追加

export PATH=/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/NsightCompute-2019.1${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

次にコンテイナーを gpu 使えるよう runtime をインストールする
参考:https://github.com/NVIDIA/nvidia-container-runtime

sudo yum install nvidia-container-runtime

そして、 docker のサービスを起動時、gpu を使えるよう、設定する

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vi /etc/systemd/system/docker.service.d/override.conf

vi で 下記の内容入れる

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd –host=fd:// –add-runtime=nvidia=/usr/bin/nvidia-container-runtime

そしてサービスを再起動する

sudo systemctl daemon-reload
sudo systemctl restart docker

最後にGPUを使いたいコンティナーの方に docker-compose.yml の中に下記の内容達します

runtime : nvidia
environment :
– “NVIDIA_VISIBLE_DEVICES=all”
– “NVIDIA_DRIVER_CAPABILITIES=all”

これでホスト側の設定が終わります

コンティナー内の設定

cuda10.0 をインストールする
* パッケージ名は cuda じゃなくて cuda-10-0 なので注意
https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=rpmnetwork

sudo rpm -i cuda-repo-rhel7-10.0.130-1.x86_64.rpm
sudo yum clean all
sudo yum install cuda-10-0

cudnn sdk をダウンロード
https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.6.2.24/prod/10.0_20190719/cudnn-10.0-linux-x64-v7.6.2.24.tgz

下記のコマンド実行

tar -xzvf cudnn-10.0-linux-x64-v7.6.2.24.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64

これでコンティナー内でも tensorflow cudnn がGPU使えるようになります

この記事が気に入ったら
フォローしてね!

この記事を書いた人

コメント

コメントする

目次
閉じる