過去ページ docker200322

nvidiaカードが入ったマシンにdockerを入れて、そのコンテナでnvidiaカードを使った計算を行ってみる

dockerのリポジトリをインストールします

OS提供ではなく docker 側で提供するリポジトリからdockerを入れる

[root@s ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 
[root@s ~]#  yum list |grep  docker
 :
docker.x86_64                            2:1.13.1-109.gitcccb291.el7.centos
docker-ce.x86_64                         3:19.03.8-3.el7                docker-ce-stable
docker-ce-cli.x86_64                     1:19.03.8-3.el7                docker-ce-stable
docker-ce-selinux.noarch                 17.03.3.ce-1.el7               docker-ce-stable
docker-client.x86_64                     2:1.13.1-109.gitcccb291.el7.centos
 :
[root@s ~]#

一応yumで調べると、「docker.x86_64」はOS提供のリポジトリから得られるdockerのようで、
今回は「docker-ce.x86_64」を入れます。こちらは「docker」側で提供してパッケージみたい

[root@s ~]# yum install docker-ce
 
[root@s ~]# systemctl start docker
[root@s ~]# systemctl enable docker

一応ユーザ側でバージョン確認

[illya@s ~]$ docker --version
Docker version 19.03.8, build afacb8b
 
[illya@s ~]$

NVIDIA Container Toolkit(旧名: NVIDIA Docker?, nvidia-docker2?)をインスト

本家様 https://github.com/NVIDIA/nvidia-docker

https://github.com/NVIDIA/nvidia-docker に従い下記の操作を行う

[root@s ~]# distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
[root@s ~]# echo $distribution
centos7
 
[root@s ~]# curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | tee /etc/yum.repos.d/nvidia-docker.repo
(nvidia-docker.repoが作られる)
 
[root@s ~]# yum install nvidia-container-toolkit
[root@s ~]# systemctl restart docker

ここでちょいとテスト

[root@s ~]# docker run --gpus all --rm nvidia/cuda nvidia-smi
 
Unable to find image 'nvidia/cuda:latest' locally
latest: Pulling from nvidia/cuda
7ddbc47eeb70: Pull complete
 :
30b4effda4fd: Pull complete
Digest: sha256:31e2a1ca7b0e1f678fb1dd0c985b4223273f7c0f3dbde60053b371e2a1aee2cd
Status: Downloaded newer image for nvidia/cuda:latest
Sat Mar 21 16:40:20 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.67       Driver Version: 418.67       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| 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 GT 710      Off  | 00000000:01:00.0 N/A |                  N/A |
| 50%   48C    P0    N/A /  N/A |      0MiB /  2002MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+
 
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0                    Not Supported                                       |
+-----------------------------------------------------------------------------+
[root@s ~]#
[root@s ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nvidia/cuda         latest              9e47e9dfcb9a        3 months ago        2.83GB
 
[root@s ~]#

特定のユーザがdockerを実行できるようにする

[root@s ~]# usermod -aG docker illya

そのうえで

[illya@s ~]$ docker run --gpus all --rm nvidia/cuda nvidia-smi
Sat Mar 21 16:51:25 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.67       Driver Version: 418.67       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| 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 GT 710      Off  | 00000000:01:00.0 N/A |                  N/A |
| 50%   48C    P0    N/A /  N/A |      0MiB /  2002MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+
 
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0                    Not Supported                                       |
+-----------------------------------------------------------------------------+
[illya@s ~]$

と利用可能である。

dockerの上でrelionを動かす

九州工業大学 生命情報工学科 情報工学部 安永研究室様にてDockerfileが公表されています。
http://www.yasunaga-lab.bio.kyutech.ac.jp/ja/
RELION3.1チュートリアル
それを使いたいと思う

git clone https://github.com/kttn8769/cryoem-docker
cd cryoem-docker
vi Dockerfile
 
docker build .

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2020-03-23 (月) 08:03:41 (18d)