CoriKnl#

class lsst.ctrl.bps.parsl.sites.nersc.CoriKnl(*args, **kwargs)#

Bases: TripleSlurm

Configuration for running jobs on the NERSC Cori-KNL cluster.

Notes#

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 the small_walltime, medium_walltime and large_walltime values.

  • 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 for each ‘small’ Slurm job.

  • medium_memory (float): memory per worker for each ‘small’ Slurm job.

  • large_memory (float): memory per worker for each ‘large’ Slurm job.

  • small_walltime (str): time limit for each ‘small’ Slurm job.

  • medium_walltime (str): time limit for each ‘small’ 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.

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_optionsdict

Options for make_executor for small executor.

medium_optionsdict

Options for make_executor for medium executor.

large_optionsdict

Options for make_executor for large executor.

**common_optionsAny

Common options for make_executor for each of the executors.