NEDAS.job_submitters.slurm module

class NEDAS.job_submitters.slurm.SLURMJobSubmitter(**kwargs)[source]

Bases: HPCJobSubmitter

JobSubmitter Class customized for SLURM schedulers

MAX_NTASKS = 1000000
MAX_NNODES = 1000
MAX_PPN = 1000
property nproc_avail

Number of available processors on a host machine This should be redefined in subclasses to machine specific behavior

property nnode_avail

Number of available compute nodes on a host machine

property ppn_avail

Number of available processors per compute node

property execute_command

Execute command for running the job on the host machine, replacing ‘JOB_EXECUTE’ in ‘commands’

property job_array_index_name

Job array index variable name for the host machine, replacing ‘JOB_ARRAY_INDEX’ in ‘commands’

property in_job_allocation: bool

Determines if a job allocation is already availalbe on the HPC If so, the job can be run as a sub step directly, otherwise will need to submit it to the queue.

submit_job_and_monitor(commands)[source]

Submit ‘commands’ as a job script to the scheduler on HPC and monitor for its completion.