KnowHow

技術的なメモを中心にまとめます。
検索にて調べることができます。

SLURMの実行スクリプトの書き方。コア数を制限しつつ、ノードをロックしてジョブを投入する

登録日 :2024/07/06 14:38
カテゴリ :SLURM

SLURMの実行スクリプトを作成するには、まず基本的なジョブスクリプトの構造を理解する必要があります。コア数を制限し、ノードをロックしてジョブを投入するためには、SLURMのジョブスクリプトで以下のようなオプションを設定します。

#!/bin/bash
#SBATCH --job-name=my_job       # ジョブの名前
#SBATCH --output=output.txt     # 標準出力の出力ファイル
#SBATCH --error=error.txt       # 標準エラー出力の出力ファイル
#SBATCH --nodes=1               # 使用するノード数
#SBATCH --ntasks=1              # 使用するタスク数
#SBATCH --cpus-per-task=4       # タスクごとのCPU数
#SBATCH --exclusive             # ノードをロックする

# ジョブの実行コマンド
srun my_executable

各オプションの説明

  • SBATCH --job-name=my_job:
    ジョブの名前を設定します。

  • SBATCH --output=output.txt:
    標準出力の出力ファイルを指定します。

  • SBATCH --error=error.txt:
    標準エラー出力の出力ファイルを指定します。

  • SBATCH --nodes=1:
    使用するノードの数を指定します。この例では1ノードを使用します。

  • SBATCH --ntasks=1:
    使用するタスクの数を指定します。ここでは1タスクのみを使用します。

  • SBATCH --cpus-per-task=4:
    タスクごとに使用するCPUの数を指定します。この例では1タスクあたり4 CPUを使用します。

  • SBATCH --exclusive:
    ノードをロックし、他のジョブが同じノードを使用できないようにします。