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)を確保することを推奨します.ジョブ実行時のコンテナは,Eduqでは/common/Singularity_sif/prg_env_amd_2025.02.sifを,iEduqでは/common/Singularity_sif/prg_env_intel_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 Hub や NVIDIA NGC などで検索できます.