編集不可のページ History 添付ファイル

 

ページ名: "HowToRunNGCContainer"の差分
13と28のリビジョン間の差分 (その間の編集: 15回)
2019-09-30 11:06:28時点のリビジョン13
サイズ: 2185
編集者: hitachi29
コメント:
2025-11-17 06:49:36時点のリビジョン28
サイズ: 2224
編集者: yi041
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 1: 行 1:
= NVIDIA GPU Cloudコンテナの実行方法 = = Singularityイメージファイルの入手 =
行 3: 行 3:
== NVIDIA GPU Cloud(NGC)の概要 ==
NVIDIA GPU Cloud([[https://ngc.nvidia.com/|NGC:https://ngc.nvidia.com]]) はディープラーニング、機械学習、HPC のために GPU で最適化されたソフトウェアのハブであり、最新のアプリケーションをDockerイメージでタイムリーに利用できます。
Singularityイメージファイル(sif)を/work以下に置き,HPCクラスタのバッチジョブやインタラクティブジョブで指定することができます.
行 6: 行 5:
計算サーバにてsingularity pullを利用することで,公開されているDockerイメージを変換してsifを入手できます.以下の例では,インタラクティブジョブでysnd01にアクセスし,ROCmのPyTorch Dockerイメージをsifに変換しています.
行 7: 行 7:
{{{
[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
行 8: 行 12:
== NVIDIA GPU Cloudコンテナの表示 ==
NVIDIA GPU Cloudに登録されているコンテナを下記コマンドで確認できます。
NGCに登録されているイメージのリストは毎日更新されます。
{{{
showngcimages
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...
行 15: 行 24:
showngcimagesコマンドで表示されるイメージについての詳細はNGCホームページより下記手順で確認できます。
<<BR>>
 (1) NVIDIA GPU Cloud([[https://ngc.nvidia.com/|NGC:https://ngc.nvidia.com]])へアクセス
<<BR>>
 (2) 左側メニューよりACCELERATED SOFTWAREを選択
<<BR>>
 (3) 表示されたイメージの中から利用したいソフトウェアを選択
<<BR>>
 (4) 選択したソフトウェアのページでOverviewタブを選択します。
<<BR>>
 (5) Suggested Readingのセクションにリリースノート(ソフトウェアのバージョン情報)とTutorialへのリンクが記載されています。
<<BR>>
インタラクティブジョブを実行する際には,Eduqではvnode=ysnd00またはysnd01,iEduqではvnode=yind00またはyind01を指定できます.メモリは上限値(64GB)を確保することを推奨します.コンテナとして /common/Singularity_sif/prg_env_amd_2025.02.sif を指定してください./homeではディスク容量が不足しますので,/workにて作業するようにしてください.
行 28: 行 26:
また、NVIDIAのDeepLearningのページ[[https://docs.nvidia.com/deeplearning/]]からも各フレームワークのリリースノートやユーザガイドが確認できます。
<<BR>>
== NGCコンテナの利用方法 ==
DOCKER_IMAGEまたはSINGULARITY_IMAGEでshowngcimagesコマンドで表示されるイメージを指定してジョブを投入することで、ジョブスケジューラがNGCからDockerイメージを取得、プライベートレジストリへの登録、Singularityイメージへの変換を自動的に行い、指定したコンテナジョブを実行します。
Dockerイメージをsifに変換する他の例を示します.
行 33: 行 28:
例:ROCmのTensorflow Dockerイメージをsifに変換
行 34: 行 30:
qsub -q gSrchq -v DOCKER_IMAGE=<NGCのイメージ> test.sh $ singularity pull docker://rocm/tensorflow
行 37: 行 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 を指定してください./homeではディスク容量が不足しますので,/workにて作業するようにしてください.

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 HubNVIDIA NGC などで検索できます.