Mercurial > hg > Papers > 2021 > mk-thesis
changeset 30:c4118dd96310
update usage
author | Ken Miyahira <e175733@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 06 Feb 2021 13:01:53 +0900 |
parents | 7154e9689864 |
children | acbdce4a79d7 |
files | paper/chapter/system_usage.tex paper/file/batch.bash paper/final_thesis.pdf |
diffstat | 3 files changed, 45 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/chapter/system_usage.tex Fri Feb 05 20:33:39 2021 +0900 +++ b/paper/chapter/system_usage.tex Sat Feb 06 13:01:53 2021 +0900 @@ -115,7 +115,7 @@ $ ie-podman registry push [IMAGE_NAME] \end{verbatim} -また, registry searchでレジストリに登録されているイメージ一覧を表示することも可能である。 +また, レジストリに登録されているイメージ一覧を表示することも可能である。 下記の操作でイメージ一覧を表示を行う。 イメージ名を指定することで, イメージのtag一覧の表示も可能である。 \begin{verbatim} @@ -123,4 +123,37 @@ $ ie-podman registry search [IMAGE_NAME] \end{verbatim} -\subsection{SingularityとSlurm} \ No newline at end of file +\subsection{GPUを利用した演習} +新システムでは, 汎用サーバに搭載されるGPUをコンテナから利用できる。 +コンテナからGPUの利用は, PodmanとSingularityの両方から可能である。 +だが, プログラムの実行にはSlurmにJobとして投下する必要がある。 +そのため, イメージを単一ファイルベースとして扱え, ユーザのホームディレクトリがコンテナにマウントされるSingularityを主に利用する。 +%プログラムを実行する環境のみをsifファイルとして構築し, 実行するプログラム, データをホームディレクトリで管理することが可能である。 +Singularityのコンテナの実行には, 下記の操作で行える。 +また, 実行時に--nvオプションを指定することで, コンテナからGPUを利用することが可能になる。 +\begin{verbatim} +$ singularity run --nv [SIF_NAME] +\end{verbatim} + +実行にはrun, exec, shellのサブコマンドがあり, runではsifファイルを作成する際に指定が可能なrunscriptが実行される。 +指定されない場合はshellが起動する。また, execではイメージ内にインストールされている任意のコマンドを実行することが可能である。 +これらのサブコマンドを利用し, SlurmにJobを投下する際のbatchファイルを作成する。 +batchファイルはソース\ref{pg:batch}の2$\sim$8行目ように, Jobに必要なリソースを定義する。 +リソースの定義後に, 実行したい処理を記述する。 +\lstinputlisting[language=Bash, numbers=left, breaklines=true, basicstyle=\ttfamily\footnotesize, frame=single, caption=batchファイル, label=pg:batch]{file/batch.bash} + +batchファイルを作成後, 下記の操作でJobを投下することが可能である。 +\begin{verbatim} +$ sbatch [BATCH_FILENAME] +\end{verbatim} + +また, Jobの各種情報は, 下記の操作で表示することが可能である。 +\begin{verbatim} +$ squeue +\end{verbatim} + +投下したJobを停止するには, 下記の操作で行うことができる。 +SlurmはユーザごとにJobが管理されるため, 他ユーザのJobを停止するこはできない。 +\begin{verbatim} +$ scansel [JOB_ID] +\end{verbatim} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/file/batch.bash Sat Feb 06 13:01:53 2021 +0900 @@ -0,0 +1,10 @@ +#/bin/bash +#SBATCH --job-name sample +#SBATCH --output logs/%x-%j.log +#SBATCH --error logs/%x-%j.err +#SBATCH --nodes 1 +#SBATCH --cpus-per-task 8 +#SBATCH --gpus tesla:1 +#SBATCH --time 01:00 + +singularity exec --nv [SIF_NAME] [COMMANDS] \ No newline at end of file