TripleSlurm#
- class lsst.ctrl.bps.parsl.sites.TripleSlurm(*args, **kwargs)#
Bases:
SlurmConfiguration for running jobs on a Slurm cluster with three levels.
Parameters#
Notes#
The three levels are useful for having workers with different amount of available memory (and this is how executors are selected, by default), though other uses are possible.
The following BPS configuration parameters are recognised, overriding the defaults:
nodes(int): number of nodes for each Slurm job.cores_per_node(int): number of cores per node for each Slurm job; by default we use all cores on the node.walltime(str): time limit for each Slurm job; setting this would override each of thesmall_walltime,medium_walltimeandlarge_walltimevalues.mem_per_node(float): memory per node for each Slurm job; by default we use whatever Slurm gives us.qos(str): quality of service to request for each Slurm job; by default we use whatever Slurm gives us.small_memory(float): memory per worker (GB) for each ‘small’ Slurm job.medium_memory(float): memory per worker (GB) for each ‘medium’ Slurm job.large_memory(float): memory per worker (GB) for each ‘large’ Slurm job.small_walltime(str): time limit for each ‘small’ Slurm job.medium_walltime(str): time limit for each ‘medium’ Slurm job.large_walltime(str): time limit for each ‘large’ Slurm job.
Methods Summary
get_executors([small_options, ...])Get a list of executors to be used in processing.
select_executor(job)Get the
labelof the executor to use to execute a job.Methods Documentation
- get_executors(small_options: dict[str, Any] | None = None, medium_options: dict[str, Any] | None = None, large_options: dict[str, Any] | None = None, **common_options) list[ParslExecutor]#
Get a list of executors to be used in processing.
We create three executors, with different walltime and memory per worker.
Parameters#
- small_optionskwargs
Options for
make_executorfor small executor.- medium_optionskwargs
Options for
make_executorfor medium executor.- large_optionskwargs
Options for
make_executorfor large executor.- **common_options
Common options for
make_executorfor each of the executors.