KnowHow

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

SLURM実行時に自動的に設定される環境変数について

登録日 :2024/05/21 05:30
カテゴリ :SLURM

SLURMジョブが実行される際には、ジョブの実行環境にいくつかの環境変数が自動的に設定されます。これらの変数は、ジョブスクリプト内で使用でき、ジョブの詳細や割り当てられたリソースに関する情報を提供します。以下は、主要な環境変数の一覧です。

SLURMが設定する主な環境変数

SLURM_JOBID: ジョブID。ジョブの一意の識別子。
SLURM_JOB_NAME: ジョブ名。
SLURM_JOB_NODELIST: ジョブが割り当てられたノードのリスト。
SLURM_JOB_NUM_NODES: ジョブに割り当てられたノード数。
SLURM_JOB_PARTITION: ジョブが実行されるパーティション。
SLURM_CPUS_ON_NODE: 各ノード上のCPUコア数。
SLURM_NNODES: ジョブに割り当てられたノードの数。SLURM_JOB_NUM_NODES のエイリアス。
SLURM_NTASKS: ジョブ全体で要求されたタスクの数。
SLURM_NTASKS_PER_NODE: 各ノードに割り当てられたタスクの数。
SLURM_NODEID: 現在のノードのID。
SLURM_NODELIST: ジョブに割り当てられたノードのリスト。SLURM_JOB_NODELIST のエイリアス。
SLURM_PROCID: ジョブ内の現在のタスクのID。
SLURM_SUBMIT_DIR: ジョブが送信されたディレクトリ。
SLURM_SUBMIT_HOST: ジョブが送信されたホスト名。
SLURM_TASK_PID: 現在のタスクのプロセスID。
SLURM_TASKS_PER_NODE: 各ノードに割り当てられたタスクの数のカンマ区切りリスト。

メモリ関連の変数

SLURM_MEM_PER_NODE: ジョブに割り当てられた各ノードのメモリ(MB単位)。
SLURM_MEM_PER_CPU: ジョブに割り当てられた各CPUのメモリ(MB単位)。

タスク関連の変数

SLURM_CPUS_PER_TASK: 各タスクに割り当てられたCPUコア数。
SLURM_GTIDS: ジョブ内のグローバルタスクID。

時間関連の変数

SLURM_TIME_LIMIT: ジョブの実行時間制限(秒単位)。

GPU関連の変数

SLURM_GPUS_PER_NODE: 各ノードに割り当てられたGPUの数。
SLURM_GPUS_PER_TASK: 各タスクに割り当てられたGPUの数。
SLURM_GPUS_ON_NODE: 現在のノードに存在するGPUの数。
SLURM_GPU_BIND: GPUのバインディング情報。

その他の有用な環境変数

SLURM_JOB_ACCOUNT: ジョブに関連付けられたアカウント名。
SLURM_JOB_CPUS_PER_NODE: 各ノードに割り当てられたCPUコア数のリスト。
SLURM_JOB_GPUS: ジョブに割り当てられたGPUのリスト。

まとめ

SLURMは多くの環境変数を設定し、ジョブスクリプト内で使用できるようにします。これにより、ジョブのリソースや実行環境に関する情報を簡単に取得できます。各変数の詳細や追加の環境変数については、SLURMの公式ドキュメントを参照するか、システム管理者に問い合わせてください。他に具体的な質問や不明点があれば、お知らせください。