5と27のリビジョン間の差分 (その間の編集: 22回)
|
サイズ: 1274
コメント:
|
サイズ: 2115
コメント:
|
| 削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
| 行 1: | 行 1: |
| = NVIDIA GPU Cloudコンテナの実行方法 = | = Singularityイメージファイルの入手 = |
| 行 3: | 行 3: |
| == NVIDIA GPU Cloud(NGC)の概要 == NVIDIA GPU Cloud([[https://ngc.nvidia.com/|NGC]]) はディープラーニング、機械学習、HPC のために GPU で最適化されたソフトウェアのハブであり、最新のアプリケーションをDockerイメージでタイムリーに利用できます。 |
Singularityイメージファイル(sif)を/work以下に置き,HPCクラスタのバッチジョブやインタラクティブジョブで指定することができます. |
| 行 6: | 行 5: |
| == NVIDIA GPU Cloudコンテナの表示 == NVIDIA GPU Cloudに登録されているコンテナを下記コマンドで確認できます。 NGCに登録されているイメージのリストは毎日更新されます。 |
計算サーバにてsingularity pullを利用することで,公開されているDockerイメージを変換してsifを入手できます.以下の例では,インタラクティブジョブでysnd01にアクセスし,ROCmのPyTorch Dockerイメージをsifに変換しています. |
| 行 10: | 行 8: |
| showngcimages | [yi041@ydev02 yi041]$ qsub -I -q Eduq -l select=1:ncpus=1:ngpus=1:mem=64gb:vnode=ysnd01 -v SINGULARITY_IMAGE=/common/Singularity_sif/prg_env_amd_2025.02.sif /bin/bash qsub: waiting for job 10970.ypbs0.edu.tut.ac.jp to start qsub: job 10970.ypbs0.edu.tut.ac.jp ready Singularity> cd /work/yi041 Singularity> export SINGULARITY_TMPDIR=/work/yi041/tmp Singularity> export SINGULARITY_CACHEDIR=/work/yi041/cache Singularity> mkdir tmp Singularity> mkdir cache Singularity> singularity pull docker://rocm/pytorch:latest INFO: Converting OCI blobs to SIF format WARNING: 'nodev' mount option set on /work, it could be a source of failure during build process INFO: Starting build... INFO: Fetching OCI image... |
| 行 13: | 行 24: |
| == NGCコンテナの利用方法 == DOCKER_IMAGEまたはSINGULARITY_IMAGEでshowngcimagesコマンドで表示されるイメージを指定してジョブを投入することで、ジョブスケジューラがNGCからDockerイメージを取得、プライベートレジストリへの登録、Singularityイメージへの変換を自動的に行い、指定したコンテナジョブを実行します。 |
インタラクティブジョブを実行する際には,Eduqではvnode=ysnd00またはysnd01,iEduqではvnode=yind00またはyind01を指定できます.メモリは上限値(64GB)を確保することを推奨します.コンテナとして /common/Singularity_sif/prg_env_amd_2025.02.sif を指定してください. |
| 行 16: | 行 26: |
| Dockerイメージをsifに変換する他の例を示します. 例:ROCmのTensorflow Dockerイメージをsifに変換 |
|
| 行 17: | 行 30: |
| qsub -q gSrchq -v DOCKER_IMAGE=<NGCのイメージ> test.sh | $ singularity pull docker://rocm/tensorflow |
| 行 20: | 行 33: |
| NGCからのDockerイメージ取得には15分程度かかります。イメージが利用可能になるまでジョブはQueue状態になります。 | 例:NVIDIA NGCのPytorch Dockerイメージをsifに変換 {{{ $ singularity pull docker://nvcr.io/nvidia/pytorch:22.12-py3 }}} 公開されているDockerイメージは [[https://hub.docker.com/|Docker Hub]] や [[https://catalog.ngc.nvidia.com/containers|NVIDIA NGC]] などで検索できます. |
Singularityイメージファイルの入手
Singularityイメージファイル(sif)を/work以下に置き,HPCクラスタのバッチジョブやインタラクティブジョブで指定することができます.
計算サーバにてsingularity pullを利用することで,公開されているDockerイメージを変換してsifを入手できます.以下の例では,インタラクティブジョブでysnd01にアクセスし,ROCmのPyTorch Dockerイメージをsifに変換しています.
[yi041@ydev02 yi041]$ qsub -I -q Eduq -l select=1:ncpus=1:ngpus=1:mem=64gb:vnode=ysnd01 -v SINGULARITY_IMAGE=/common/Singularity_sif/prg_env_amd_2025.02.sif /bin/bash qsub: waiting for job 10970.ypbs0.edu.tut.ac.jp to start qsub: job 10970.ypbs0.edu.tut.ac.jp ready Singularity> cd /work/yi041 Singularity> export SINGULARITY_TMPDIR=/work/yi041/tmp Singularity> export SINGULARITY_CACHEDIR=/work/yi041/cache Singularity> mkdir tmp Singularity> mkdir cache Singularity> singularity pull docker://rocm/pytorch:latest INFO: Converting OCI blobs to SIF format WARNING: 'nodev' mount option set on /work, it could be a source of failure during build process INFO: Starting build... INFO: Fetching OCI image...
インタラクティブジョブを実行する際には,Eduqではvnode=ysnd00またはysnd01,iEduqではvnode=yind00またはyind01を指定できます.メモリは上限値(64GB)を確保することを推奨します.コンテナとして /common/Singularity_sif/prg_env_amd_2025.02.sif を指定してください.
Dockerイメージをsifに変換する他の例を示します.
例:ROCmのTensorflow Dockerイメージをsifに変換
$ singularity pull docker://rocm/tensorflow
例:NVIDIA NGCのPytorch Dockerイメージをsifに変換
$ singularity pull docker://nvcr.io/nvidia/pytorch:22.12-py3
公開されているDockerイメージは Docker Hub や NVIDIA NGC などで検索できます.