Prolog and Epilog Guide

Slurm supports a multitude of prolog and epilog programs.
Slurmは、多数のプロローグおよびエピローグプログラムをサポートしています。
Note that for security reasons, these programs do not have a search path set.
セキュリティ上の理由から、これらのプログラムには検索パスが設定されていないことに注意してください。
Either specify fully qualified path names in the program or set the PATH environment variable.
プログラムで完全修飾パス名を指定するか、PATH環境変数を設定してください。
The first table below identifies what prologs and epilogs are available for job allocations, when and where they run.
以下の最初の表は、ジョブの割り当てに使用できるプロローグとエピローグ、それらがいつどこで実行されるかを示しています。

Parameter

Location

Invoked by

User

When executed

Prolog (from slurm.conf)

Compute or front end node

slurmd daemon

SlurmdUser (normally user root)

First job or job step initiation on that node (by default); PrologFlags=Alloc will force the script to be executed at job allocation

PrologSlurmctld (from slurm.conf)

Head node (where slurmctld daemon runs)

slurmctld daemon

SlurmctldUser

At job allocation

Epilog (from slurm.conf)

Compute or front end node

slurmd daemon

SlurmdUser (normally user root)

At job termination

EpilogSlurmctld (from slurm.conf)

Head node (where slurmctld daemon runs)

slurmctld daemon

SlurmctldUser

At job termination


This second table below identifies what prologs and epilogs are available for job step allocations, when and where they run.
以下の2番目の表は、ジョブステップの割り当てに使用できるプロローグとエピローグを、いつどこで実行するかを示しています。

Parameter

Location

Invoked by

User

When executed

SrunProlog (from slurm.conf) or srun --prolog

srun invocation node

srun command

User invoking srun command

Prior to launching job step

TaskProlog (from slurm.conf)

Compute node

slurmstepd daemon

User invoking srun command

Prior to launching job step

srun --task-prolog

Compute node

slurmstepd daemon

User invoking srun command

Prior to launching job step

TaskEpilog (from slurm.conf)

Compute node

slurmstepd daemon

User invoking srun command

Completion job step

srun --task-epilog

Compute node

slurmstepd daemon

User invoking srun command

Completion job step

SrunEpilog (from slurm.conf) or srun --epilog

srun invocation node

srun command

User invoking srun command

Completion job step

By default the Prolog script is only run on any individual node when it first sees a job step from a new allocation; it does not run the Prolog immediately when an allocation is granted.
デフォルトでは、Prologスクリプトは、新しい割り当てからのジョブステップを最初に検出したときに、個々のノードでのみ実行されます。割り当てが許可されたときにすぐにプロローグを実行することはありません。
If no job steps from an allocation are run on a node, it will never run the Prolog for that allocation.
割り当てからのジョブステップがノードで実行されていない場合、その割り当てのプロローグは実行されません。
This Prolog behaviour can be changed by the PrologFlags parameter.
このPrologの動作は、PrologFlagsパラメーターによって変更できます。
The Epilog, on the other hand, always runs on every node of an allocation when the allocation is released.
一方、Epilogは、割り当てが解放されると、常に割り当てのすべてのノードで実行されます。

The task prolog is executed with the same environment as the user tasks to be initiated.
タスクプロローグは、開始するユーザータスクと同じ環境で実行されます。
The standard output of that program is read and processed as follows:
そのプログラムの標準出力は、次のように読み取られて処理されます。

export name=value sets an environment variable for the user task
export name = valueは、ユーザータスクの環境変数を設定します

unset name clears an environment variable from the user task
unset nameは、ユーザータスクから環境変数をクリアします

print ... writes to the task's standard output.
print ...タスクの標準出力に書き込みます。

The above functionality is limited to the task prolog script.
上記の機能は、タスクのプロローグスクリプトに限定されています。

Unless otherwise specified, these environment variables are available to all of the programs.
特に指定がない限り、これらの環境変数はすべてのプログラムで使用できます。

  • CUDA_MPS_ACTIVE_THREAD_PERCENTAGE Specifies the percentage of a GPU that should be allocated to the job.
    ジョブに割り当てる必要があるGPUのパーセンテージを指定します。
    The value is set only if the gres/mps plugin is configured and the job requests those resources.
    この値は、gres / mpsプラグインが構成されていて、ジョブがそれらのリソースを要求した場合にのみ設定されます。
    Available in Prolog and Epilog only.
    PrologとEpilogでのみ利用可能です。
  • CUDA_VISIBLE_DEVICES Specifies the GPU devices that should be allocated to the job.
    ジョブに割り当てる必要があるGPUデバイスを指定します。
    The value is set only if the gres/gpu or gres/mps plugin is configured and the job requests those resources.
    この値は、gres / gpuまたはgres / mpsプラグインが構成されていて、ジョブがそれらのリソースを要求した場合にのみ設定されます。
    Note that the environment variable set for the job may differ from that set for the Prolog and Epilog if Slurm is configured to constrain the device files visible to a job using Linux cgroup.
    Linux cgroupを使用してジョブに表示されるデバイスファイルを制約するようにSlurmが構成されている場合、ジョブに設定された環境変数は、PrologおよびEpilogに設定された環境変数とは異なる場合があることに注意してください。
    This is because the Prolog and Epilog programs run outside of any Linux cgroup while the job runs inside of the cgroup and may thus have a different set of visible devices.
    これは、PrologおよびEpilogプログラムがLinux cgroupの外部で実行され、ジョブがcgroupの内部で実行されるため、表示されるデバイスのセットが異なる可能性があるためです。
    For example, if a job is allocated the device "/dev/nvidia1", then CUDA_VISIBLE_DEVICES will be set to a value of "1" in the Prolog and Epilog while the job's value of CUDA_VISIBLE_DEVICES will be set to a value of "0" (i.e. the first GPU device visible to the job).
    たとえば、ジョブにデバイス「/ dev / nvidia1」が割り当てられている場合、プロローグとエピローグではCUDA_VISIBLE_DEVICESの値が「1」に設定され、ジョブのCUDA_VISIBLE_DEVICESの値は「0」に設定されます。 (つまり、ジョブに表示される最初のGPUデバイス)。
    Available in Prolog and Epilog only.
    PrologとEpilogでのみ利用可能です。
  • SLURM_ARRAY_JOB_ID If this job is part of a job array, this will be set to the job ID.
    このジョブがジョブ配列の一部である場合、これはジョブIDに設定されます。
    Otherwise it will not be set.
    それ以外の場合は設定されません。
    To reference this specific task of a job array, combine SLURM_ARRAY_JOB_ID with SLURM_ARRAY_TASK_ID (e.g. scontrol update ${SLURM_ARRAY_JOB_ID}_{$SLURM_ARRAY_TASK_ID} ...); Available in PrologSlurmctld, SrunProlog, TaskProlog, EpilogSlurmctld, SrunEpilog and TaskEpilog.
    ジョブ配列のこの特定のタスクを参照するには、SLURM_ARRAY_JOB_IDをSLURM_ARRAY_TASK_IDと組み合わせます(例:scontrol update $ {SLURM_ARRAY_JOB_ID} _ {$ SLURM_ARRAY_TASK_ID} ...); PrologSlurmctld、SrunProlog、TaskProlog、EpilogSlurmctld、SrunEpilog、およびTaskEpilogで使用できます。
  • SLURM_ARRAY_TASK_COUNT If this job is part of a job array, this will be set to the number of tasks in the array.
    このジョブがジョブ配列の一部である場合、これは配列内のタスクの数に設定されます。
    Otherwise it will not be set.
    それ以外の場合は設定されません。
    Available in PrologSlurmctld, SrunProlog, TaskProlog, EpilogSlurmctld, SrunEpilog and TaskEpilog.
    PrologSlurmctld、SrunProlog、TaskProlog、EpilogSlurmctld、SrunEpilog、およびTaskEpilogで使用できます。
  • SLURM_ARRAY_TASK_ID If this job is part of a job array, this will be set to the task ID.
    このジョブがジョブ配列の一部である場合、これはタスクIDに設定されます。
    Otherwise it will not be set.
    それ以外の場合は設定されません。
    To reference this specific task of a job array, combine SLURM_ARRAY_JOB_ID with SLURM_ARRAY_TASK_ID (e.g. scontrol update ${SLURM_ARRAY_JOB_ID}_{$SLURM_ARRAY_TASK_ID} ...); Available in PrologSlurmctld, SrunProlog, TaskProlog, EpilogSlurmctld, SrunEpilog and TaskEpilog.
    ジョブ配列のこの特定のタスクを参照するには、SLURM_ARRAY_JOB_IDをSLURM_ARRAY_TASK_IDと組み合わせます(例:scontrol update $ {SLURM_ARRAY_JOB_ID} _ {$ SLURM_ARRAY_TASK_ID} ...); PrologSlurmctld、SrunProlog、TaskProlog、EpilogSlurmctld、SrunEpilog、およびTaskEpilogで使用できます。
  • SLURM_ARRAY_TASK_MAX If this job is part of a job array, this will be set to the maximum task ID.
    このジョブがジョブ配列の一部である場合、これは最大タスクIDに設定されます。
    Otherwise it will not be set.
    それ以外の場合は設定されません。
    Available in PrologSlurmctld, SrunProlog, TaskProlog, EpilogSlurmctld, SrunEpilog and TaskEpilog.
    PrologSlurmctld、SrunProlog、TaskProlog、EpilogSlurmctld、SrunEpilog、およびTaskEpilogで使用できます。
  • SLURM_ARRAY_TASK_MIN If this job is part of a job array, this will be set to the minimum task ID.
    このジョブがジョブ配列の一部である場合、これは最小タスクIDに設定されます。
    Otherwise it will not be set.
    それ以外の場合は設定されません。
    Available in PrologSlurmctld, SrunProlog, TaskProlog, EpilogSlurmctld, SrunEpilog and TaskEpilog.
    PrologSlurmctld、SrunProlog、TaskProlog、EpilogSlurmctld、SrunEpilog、およびTaskEpilogで使用できます。
  • SLURM_ARRAY_TASK_STEP If this job is part of a job array, this will be set to the step size of task IDs.
    このジョブがジョブ配列の一部である場合、これはタスクIDのステップサイズに設定されます。
    Otherwise it will not be set.
    それ以外の場合は設定されません。
    Available in PrologSlurmctld, SrunProlog, TaskProlog, EpilogSlurmctld, SrunEpilog and TaskEpilog.
    PrologSlurmctld、SrunProlog、TaskProlog、EpilogSlurmctld、SrunEpilog、およびTaskEpilogで使用できます。
  • SLURM_CLUSTER_NAME Name of the cluster executing the job.
    ジョブを実行しているクラスターの名前。
  • SLURM_CONF Location of the slurm.conf file.
    slurm.confファイルの場所。
    Available in Prolog, SrunProlog, TaskProlog, Epilog, SrunEpilog and TaskEpilog.
    Prolog、SrunProlog、TaskProlog、Epilog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_CPUS_ON_NODE Count of processors available to the job on current node.
    現在のノードでジョブに使用できるプロセッサーの数。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_DISTRIBUTION Distribution type for the job.
    ジョブの配布タイプ。
    Available in SrunProlog and SrunEpilog.
    SrunPrologおよびSrunEpilogで利用できます。
  • SLURMD_NODENAME Name of the node running the task.
    タスクを実行しているノードの名前。
    In the case of a parallel job executing on multiple compute nodes, the various tasks will have this environment variable set to different values on each compute node.
    複数の計算ノードで実行される並列ジョブの場合、さまざまなタスクでこの環境変数が各計算ノードで異なる値に設定されます。
    Available in Prolog, SrunProlog, TaskProlog, Epilog, SrunEpilog and TaskEpilog.
    Prolog、SrunProlog、TaskProlog、Epilog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_GPUS Count of the GPUs available to the job.
    ジョブで使用可能なGPUの数。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_GTID Global Task IDs running on this node.
    このノードで実行されているグローバルタスクID。
    Zero origin and comma separated.
    ゼロ原点とカンマ区切り。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_JOB_CPUS_PER_NODE Count of processors available per node.
    ノードごとに使用可能なプロセッサーの数。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_JOB_ACCOUNT Account name used for the job.
    ジョブに使用されるアカウント名。
    Available in PrologSlurmctld, SrunProlog, TaskProlog, EpilogSlurmctld SrunEpilog and TaskEpilog.
    PrologSlurmctld、SrunProlog、TaskProlog、EpilogSlurmctld SrunEpilog、およびTaskEpilogで使用できます。
  • SLURM_JOB_CONSTRAINTS Features required to run the job.
    ジョブの実行に必要な機能。
    Available in Prolog, PrologSlurmctld and EpilogSlurmctld only.
    Prolog、PrologSlurmctldおよびEpilogSlurmctldでのみ利用可能です。
  • SLURM_JOB_DERIVED_EC The highest exit code of all of the job steps.
    すべてのジョブステップの中で最も高い終了コード。
    Available in EpilogSlurmctld only.
    EpilogSlurmctldでのみ使用できます。
  • SLURM_JOB_EXIT_CODE The exit code of the job script (or salloc).
    ジョブスクリプト(またはsalloc)の終了コード。
    The value is the status as returned by the wait() system call (See wait(2)).
    値は、wait()システムコールによって返されるステータスです(wait(2)を参照)。
    Available in EpilogSlurmctld only.
    EpilogSlurmctldでのみ使用できます。
  • SLURM_JOB_EXIT_CODE2 The exit code of the job script (or salloc).
    ジョブスクリプト(またはsalloc)の終了コード。
    The value has the format <exit>:<sig>.
    値の形式は<exit>:<sig>です。
    The first number is the exit code, typically as set by the exit() function.
    最初の番号は終了コードであり、通常はexit()関数によって設定されます。
    The second number is the signal that caused the process to terminate if it was terminated by a signal.
    2番目の番号は、シグナルによってプロセスが終了した場合にプロセスを終了させたシグナルです。
    Available in EpilogSlurmctld only.
    EpilogSlurmctldでのみ使用できます。
  • SLURM_JOB_GID Group ID of the job's owner.
    ジョブの所有者のグループID。
  • SLURM_JOB_GPUS GPU IDs allocated to the job (if any).
    ジョブに割り当てられたGPUID(存在する場合)。
    Available in the Prolog only.
    Prologでのみ利用可能です。
  • SLURM_JOB_GROUP Group name of the job's owner.
    ジョブの所有者のグループ名。
    Available in PrologSlurmctld and EpilogSlurmctld only.
    PrologSlurmctldおよびEpilogSlurmctldでのみ使用できます。
  • SLURM_JOB_ID Job ID.
    ジョブID。
  • SLURM_JOBID Job ID.
    ジョブID。
  • SLURM_JOB_NAME Name of the job.
    ジョブの名前。
    Available in PrologSlurmctld, SrunProlog, TaskProlog, EpilogSlurmctld, SrunEpilog and TaskEpilog.
    PrologSlurmctld、SrunProlog、TaskProlog、EpilogSlurmctld、SrunEpilog、およびTaskEpilogで使用できます。
  • SLURM_JOB_NODELIST Nodes assigned to job.
    ジョブに割り当てられたノード。
    A Slurm hostlist expression.
    Slurmホストリスト式。
    scontrol show hostnames can be used to convert this to a list of individual host names.
    scontrol show hostnamesを使用して、これを個々のホスト名のリストに変換できます。
    Available in PrologSlurmctld SrunProlog, TaskProlog, EpilogSlurmctld, SrunEpilog and TaskEpilog.
    PrologSlurmctld SrunProlog、TaskProlog、EpilogSlurmctld、SrunEpilog、およびTaskEpilogで使用できます。
  • SLURM_JOB_NUM_NODES Number of nodes assigned to a job.
    ジョブに割り当てられたノードの数。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_JOB_PARTITION Partition that job runs in.
    ジョブが実行されるパーティション。
    Available in Prolog, PrologSlurmctld, SrunProlog, TaskProlog, EpilogSlurmctld, SrunEpilog and TaskEpilog.
    Prolog、PrologSlurmctld、SrunProlog、TaskProlog、EpilogSlurmctld、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_JOB_QOS QOS assigned to job.
    ジョブに割り当てられたQOS。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_JOB_UID User ID of the job's owner.
    ジョブの所有者のユーザーID。
  • SLURM_JOB_USER User name of the job's owner.
    ジョブの所有者のユーザー名。
  • SLURM_LOCAL_GLOBALS_FILE Globals file used to set up the environment for the testsuite.
    テストスイートの環境をセットアップするために使用されるグローバルファイル。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_LOCALID Node local task ID for the process within a job.
    ジョブ内のプロセスのノードローカルタスクID。
    Available in SrunProlog, Taskprolog, SrunEpilog and TaskEpilog.
    SrunProlog、Taskprolog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_NNODES Number of nodes assigned to a job.
    ジョブに割り当てられたノードの数。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_NODE_ALIASES Contains the node name, communication address and hostname of a node.
    ノード名、通信アドレス、およびノー​​ドのホスト名が含まれます。
    Used for cloud environments.
    クラウド環境に使用されます。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_NODEID ID of current node relative to other nodes in a multi-node job.
    マルチノードジョブ内の他のノードを基準にした現在のノードのID。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_PRIO_PROCESS Scheduling priority (nice value) at the time of submission.
    提出時のスケジューリングの優先順位(適切な値)。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_PROCID The MPI rank (or relative process ID) of the current process.
    現在のプロセスのMPIランク(または相対プロセスID)。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_RLIMIT_AS Resource limit on the job's address space.
    ジョブのアドレス空間のリソース制限。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_RLIMIT_CORE Resource limit on the size of a core file the job is able to produce.
    ジョブが生成できるコアファイルのサイズのリソース制限。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_RLIMIT_CPU Resource limit on the amount of CPU time a job is able to use.
    ジョブが使用できるCPU時間のリソース制限。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_RLIMIT_DATA Resource limit on the size of a job's data segment.
    ジョブのデータセグメントのサイズに関するリソース制限。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_RLIMIT_FSIZE Resource limit on the maximum size of files a job may create.
    ジョブが作成できるファイルの最大サイズのリソース制限。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_RLIMIT_MEMLOCK Resource limit on the bytes of data that may be locked into RAM.
    RAMにロックされる可能性のあるデータのバイトのリソース制限。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_RLIMIT_NOFILE Resource limit on the number of file descriptors that can be opened by the job.
    ジョブが開くことができるファイル記述子の数に関するリソース制限。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_RLIMIT_NPROC Resource limit on the number of processes that can be opened by the calling process.
    呼び出しプロセスが開くことができるプロセス数のリソース制限。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_RLIMIT_RSS Resource limit on the job's resident set size.
    ジョブの常駐セットサイズのリソース制限。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_RLIMIT_STACK Resource limit on the job's process stack.
    ジョブのプロセススタックのリソース制限。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_SCRIPT_CONTEXT Identifies which epilog or prolog program is currently running.
    現在実行中のエピローグまたはプロローグプログラムを識別します。
    The value is one of the following:
    値は次のいずれかです。
    • prolog_slurmctld
    • epilog_slurmctld
    • prolog_slurmd
    • epilog_slurmd
    • prolog_task
    • epilog_task
    • prolog_srun
    • epilog_srun
  • SLURM_STEP_ID Step ID of the current job.
    現在のジョブのステップID。
    Available in SrunProlog and SrunEpilog.
    SrunPrologおよびSrunEpilogで利用できます。
  • SLURM_STEPID Step ID of the current job.
    現在のジョブのステップID。
    Available in SrunProlog and SrunEpilog.
    SrunPrologおよびSrunEpilogで利用できます。
  • SLURM_SUBMIT_DIR Directory from which the job was submitted or, if applicable, the directory specified by the -D, --chdir option.
    ジョブが送信されたディレクトリ、または該当する場合は、-D、-chdirオプションで指定されたディレクトリ。
    Available in SrunProlog, Taskprolog, SrunEpilog and TaskEpilog.
    SrunProlog、Taskprolog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_SUBMIT_HOST Host from which the job was submitted.
    ジョブの送信元のホスト。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_TASK_PID Process ID of the process started for the task.
    タスクに対して開始されたプロセスのプロセスID。
    Available in TaskProlog.
    TaskPrologで利用できます。
  • SLURM_TASKS_PER_NODE Number of tasks per node.
    ノードあたりのタスク数。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_TOPOLOGY_ADDR Set to the names of network switches or nodes that may be involved in the job's communications.
    ジョブの通信に関与する可能性のあるネットワークスイッチまたはノードの名前に設定します。
    Starts with the top level switch down to the node name.
    トップレベルのスイッチからノード名までを開始します。
    A period is used to separate each hardware component name.
    ピリオドは、各ハードウェアコンポーネント名を区切るために使用されます。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_TOPOLOGY_ADDR_PATTERN Set to the network component types that corresponds with the list of names from SLURM_TOPOLOGY_ADDR.
    SLURM_TOPOLOGY_ADDRの名前のリストに対応するネットワークコンポーネントタイプに設定します。
    Each component will be identified as either switch or node.
    各コンポーネントは、スイッチまたはノードとして識別されます。
    A period is used to separate each component type.
    ピリオドは、各コンポーネントタイプを区切るために使用されます。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • SLURM_WCKEY User name of the job's wckey (if any).
    ジョブのwckeyのユーザー名(存在する場合)。
    Available in PrologSlurmctld and EpilogSlurmctld only.
    PrologSlurmctldおよびEpilogSlurmctldでのみ使用できます。
  • SLURM_WORKING_CLUSTER For use when using a Federation.
    フェデレーションを使用する場合に使用します。
    Set to the remote sibling cluster's name, hostname, port, rpc version and plugin ID.
    リモート兄弟クラスターの名前、ホスト名、ポート、rpcバージョン、およびプラグインIDに設定します。
    Available in SrunProlog, TaskProlog, SrunEpilog and TaskEpilog.
    SrunProlog、TaskProlog、SrunEpilog、およびTaskEpilogで利用できます。
  • Plugin functions may also be useful to execute logic at various well-defined points.
    プラグイン関数は、明確に定義されたさまざまなポイントでロジックを実行するのにも役立つ場合があります。

    SPANK is another mechanism that may be useful to invoke logic in the user commands, slurmd daemon, and slurmstepd daemon.
    SPANKは、ユーザーコマンド、slurmdデーモン、およびslurmstepdデーモンでロジックを呼び出すのに役立つ可能性のある別のメカニズムです。

    Failure Handling

    If the Epilog fails (returns a non-zero exit code), this will result in the node being set to a DRAIN state.
    Epilogが失敗した場合(ゼロ以外の終了コードを返す場合)、ノードはDRAIN状態に設定されます。
    If the EpilogSlurmctld fails (returns a non-zero exit code), this will only be logged.
    EpilogSlurmctldが失敗した場合(ゼロ以外の終了コードを返す場合)、これはログに記録されるだけです。
    If the Prolog fails (returns a non-zero exit code), this will result in the node being set to a DRAIN state and the job requeued in a held state (unless nohold_on_prolog_fail is configured in SchedulerParameters).
    Prologが失敗した場合(ゼロ以外の終了コードを返す場合)、ノードはDRAIN状態に設定され、ジョブは保留状態で再キューイングされます(nohold_on_prolog_failがSchedulerParametersで構成されている場合を除く)。
    If the PrologSlurmctld fails (returns a non-zero exit code), this will cause the job to be requeued.
    PrologSlurmctldが失敗した場合(ゼロ以外の終了コードを返す場合)、これによりジョブが再キューイングされます。
    Only batch jobs can be requeued.
    再キューイングできるのはバッチジョブのみです。
    Interactive jobs (salloc and srun) will be cancelled if the PrologSlurmctld fails.
    PrologSlurmctldが失敗すると、対話型ジョブ(sallocおよびsrun)はキャンセルされます。


    Based upon work by Jason Sollom, Cray Inc. and used by permission.
    Jason Sollom、Cray Inc.の作業に基づいており、許可を得て使用しています。

    Last modified 19 January 2021