5. File format¶
5.1. Job description file¶
A job description file contains configurations to generate a batch job script by moller. It is prepared in text-based YAML format. This file consists of the following parts:
General settings: specifies job names and output files.
platform section: specifies the system on which batch jobs are executed, and the settings for the batch jobs.
prologue and epilogue sections: specifies initial settings and finalization within the batch job.
jobs section: specifies tasks to be carried out in the betch job script.
General settings¶
namespecifies the name of the batch job. If it is not given, the job name is left unspecified. (Usually the name of the job script is used as the job name.)
descriptionprovides the description of the batch job. It is regarded as comments.
output_filespecifies the output file name. When the output file is given by a command-line option, the command-line parameter is used. When none of them is specified, the result is written to the standard output.
platform¶
systemspecifies the target system. At present, either
ohtakaorkuguiis accepted.
queuespecifies the name of batch queue. The actual value depends on the target system.
nodespecifies the number of nodes to be used. It is given by an integer specifying the number of nodes, or a list of integers specifying
[number of nodes, number of cores per node]. The accepted range of parameters depends on the system and queue settings. (The number of cores is accepted for kugui and default systems; otherwise it is ignored.)
corespecifies the number of cores per node be used. The accepted range of parameters depends on the system and queue settings. If both the second parameter of
nodeandcoreare specified, the value incoreis used. (This parameter is accepted for kugui and default target systems.)
elapsedspecifies the elapsed time of the batch job in HH:MM:SS format.
optionsspecifies other batch job options. It is given as a list of options or as a multiple-line string with options in each line. The heading directives (e.g.
#PBSor#SBATCH) are not included. The examples are given as follows.
an example of SLURM job script in the string format:
options: | --mail-type=BEGIN,END,FAIL --mail-user=user@sample.com --requeuean example of PBS job script in the list format:
options: - -m bea - -M user@sample.com - -r y
prologue, epilogue¶
prologue section specifies the commands to be run prior to executing the tasks. It is used, for example, to set environment variables of libraries and paths.
epilogue section specifies the commands to be run after all tasks have been completed.
codespecifies the content of the commands in the form of shell script. It is embedded in the batch job script, and executed within the batch job.
jobs¶
jobs section specifies a sequence of tasks in a table format, with the task names as keys and the contents as values.
key
name of task
value
a table that consists of the following items:
descriptionprovides the description of the task. It is regarded as comments.
nodespecifies the degree of parallelism in one of the following formats.
[number of processes, number of threads per process]
[number of nodes, number of processes, number of threads per process]number of nodes
When the number of nodes is specified, the specified number of nodes are exclusively assigned to a job. Otherwise, if the required number of cores for a job is smaller than the number of cores in a node, more than one job may be allocated in a single node. If a job uses more than one node, the required number of nodes are exclusively assigned.
parallelThis parameter is set to
trueif the tasks of different jobs are executed in parallel. It is set tofalseif they are executed sequentially. The default value istrue.
runThe content of the task is described in the form of shell script. The executions of MPI parallel programs or MPI/OpenMPI hybrid parallel programs are specified by
srun prog [arg1, ...]where, in addition to the keyword
srun,mpirunormpiexecis accepted. In the resulting job script, they are replaced by the command (e.g.srunormpirun) and the degree of parallelism specified bynodeparameter.
5.2. List file¶
This file contains a list of jobs. It is a text file with a job name in a line (The name of the directory is associated with the name of the job).
moller assumes that a directory is assigned to each job, and the tasks of the job are executed within the directory. These directories are supposed to be located in the directory where the batch job is submitted.