SLURMの環境変数について
| 登録日 | :2024/05/21 04:55 |
|---|---|
| カテゴリ | :SLURM |
SLURMでよく使う環境変数について
SLURMのジョブ実行時に使用される主な環境変数を以下のテーブル形式でまとめました。これらの環境変数は、ジョブの設定やトラブルシューティングに役立ちます。
環境変数 説明
SLURM_JOB_ID 現在のジョブのID。
SLURM_JOB_NAME ジョブの名前。
SLURM_JOB_NODELIST ジョブが実行されているノードのリスト。
SLURM_JOB_NUM_NODES ジョブに割り当てられたノードの数。
SLURM_JOB_PARTITION ジョブが送信されたパーティション。
SLURM_JOB_QOS ジョブのQoS(Quality of Service)。
SLURM_SUBMIT_DIR ジョブが送信されたディレクトリ。
SLURM_SUBMIT_HOST ジョブが送信されたホスト。
SLURM_CLUSTER_NAME クラスタの名前。
SLURM_NNODES ジョブに割り当てられたノードの数。 SLURM_JOB_NUM_NODES と同じです。
SLURM_NTASKS ジョブに割り当てられたタスクの数。
SLURM_NPROCS ジョブに割り当てられたプロセスの数。
SLURM_CPUS_ON_NODE 各ノードで利用可能なCPUの数。
SLURM_NODEID 現在のノードのID(0から始まる)。
SLURM_PROCID 現在のプロセスのID(0から始まる)。
SLURM_LOCALID 現在のノード内のローカルプロセスID(0から始まる)。
SLURM_TASK_PID 現在のタスクのプロセスID。
SLURM_TASKS_PER_NODE 各ノードに割り当てられたタスクの数。
SLURM_CPUS_PER_TASK 各タスクに割り当てられたCPUの数。
SLURM_MEM_PER_CPU 各CPUに割り当てられたメモリの量(MB)。
SLURM_MEM_PER_NODE 各ノードに割り当てられたメモリの量(MB)。
SLURM_JOB_ACCOUNT ジョブが関連付けられているアカウント。
SLURM_JOB_USER ジョブを送信したユーザー。
SLURM_JOB_UID ジョブを送信したユーザーのUID。
SLURM_JOB_GID ジョブを送信したユーザーのGID。
SLURM_JOB_EXIT_CODE ジョブの終了コード。
SLURM_JOB_CPUS_PER_NODE 各ノードに割り当てられたCPUの数。
これらの環境変数を使用することで、ジョブの実行状況を確認したり、必要な情報を取得したりすることができます。ジョブスクリプト内でこれらの変数を参照することで、ジョブの管理やデバッグが容易になります。
SLURMの環境変数を一括でクリア
SLURMの環境変数を一括でクリアするための直接的なコマンドはありませんが、シェルスクリプトを利用して環境変数を一括でクリアすることは可能です。以下にその方法を示します。
シェルスクリプトを使った環境変数のクリア
SLURM関連の環境変数は通常、SLURM_というプレフィックスがついているため、このプレフィックスを持つすべての環境変数をクリアするスクリプトを作成します。
Bashを使用した方法
以下のスクリプトは、SLURM_で始まるすべての環境変数をクリアします。
#!/bin/bash
# 環境変数をリスト化し、SLURM_で始まるものをアンセット
for var in $(printenv | grep '^SLURM_' | cut -d= -f1); do
unset $var
done
# クリアされた環境変数を確認するための出力
echo "SLURM関連の環境変数をクリアしました。"
使用方法
上記スクリプトをファイルに保存します。例えば、clear_slurm_env.shという名前で保存します。
スクリプトに実行権限を与えます。
chmod +x clear_slurm_env.sh
スクリプトを実行します。
./clear_slurm_env.sh
注意点
クリア後の影響: SLURMの環境変数をクリアすると、SLURMが提供する情報(ジョブID、ノード情報など)が利用できなくなるため、必要に応じて再設定が必要です。
再設定: クリアした後に特定の環境変数が必要な場合は、手動で再設定してください。
この方法を用いることで、SLURM関連の環境変数を一括でクリアすることができます。他に何かご質問や不明点があればお知らせください。