nvflare.app_opt.job_launcher.slurm.config module
Configuration, models, constants, and validation for Slurm launchers.
- class BindMount(source: 'str', destination: 'str', mode: 'str')[source]
Bases:
object- destination: str
- mode: str
- source: str
- class CommandResult(returncode: 'Optional[int]', stdout: 'str', stderr: 'str', timed_out: 'bool' = False)[source]
Bases:
object- property available: bool
- returncode: int | None
- stderr: str
- stdout: str
- timed_out: bool = False
- class JobResources(nodes: 'int' = 1, gpus_per_node: 'Optional[int]' = None, cpus_per_node: 'Optional[int]' = None, mem_per_node: 'Optional[int]' = None, time_limit: 'Optional[str]' = None, pending_timeout: 'float' = 600.0)[source]
Bases:
object- cpus_per_node: int | None = None
- gpus_per_node: int | None = None
- mem_per_node: int | None = None
- nodes: int = 1
- pending_timeout: float = 600.0
- time_limit: str | None = None
- class LaunchPlan(job_id: 'str', site_name: 'str', run_dir: 'str', exe_module: 'str', module_args: 'tuple', resources: 'JobResources', directives: 'dict', sandbox: 'str', image: 'Optional[str]', setup: 'str', study_env: 'dict', study_secret_env: 'dict', mounts: 'tuple', python_path: 'str', python_env: 'str', forward_env: 'tuple')[source]
Bases:
object- directives: dict
- exe_module: str
- forward_env: tuple
- image: str | None
- job_id: str
- module_args: tuple
- mounts: tuple
- python_env: str
- python_path: str
- resources: JobResources
- run_dir: str
- sandbox: str
- setup: str
- site_name: str
- study_env: dict
- study_secret_env: dict
- class LookupStatus(value)[source]
Bases:
str,EnumAn enumeration.
- FOUND = 'FOUND'
- NOT_FOUND = 'NOT_FOUND'
- UNAVAILABLE = 'UNAVAILABLE'
- class QueryResult(status: 'LookupStatus', records: 'tuple' = ())[source]
Bases:
object- records: tuple = ()
- status: LookupStatus
- class SlurmConfig(workspace_path: 'str', sandbox: 'str', python_path: 'str', executables: 'dict', image: 'Optional[str]' = None, internal_port: 'int' = 8102, sbatch_directives: 'dict' = <factory>, setup: 'str' = '', forward_env: 'tuple' = (), parent_host: 'Optional[str]' = None, poll_interval: 'float' = 10.0, pending_timeout: 'float' = 600.0)[source]
Bases:
object- executables: dict
- forward_env: tuple = ()
- image: str | None = None
- internal_port: int = 8102
- parent_host: str | None = None
- pending_timeout: float = 600.0
- poll_interval: float = 10.0
- python_path: str
- sandbox: str
- sbatch_directives: dict
- setup: str = ''
- workspace_path: str
- exception SlurmLauncherError[source]
Bases:
RuntimeErrorBase error for a failed Slurm launch operation.
- exception SlurmProtocolError[source]
Bases:
SlurmLauncherErrorScheduler output contradicted the configured machine-readable protocol.
- class SlurmRecord(job_id: 'str', state: 'str', exit_status: 'int' = 0, exit_signal: 'int' = 0)[source]
Bases:
object- exit_signal: int = 0
- exit_status: int = 0
- job_id: str
- state: str
- class SubmissionResult(command: 'CommandResult', job_id: 'Optional[str]' = None, cluster: 'Optional[str]' = None)[source]
Bases:
object- cluster: str | None = None
- command: CommandResult
- job_id: str | None = None
- normalize_slurm_image(image: str | None, sandbox: str, *, require_file: bool = False, label: str = 'image') str | None[source]
- normalize_slurm_launcher_settings(*, sandbox: str, python_path: str, executables: dict, image: str | None, internal_port: int, sbatch_directives: dict | None, setup: str | None, forward_env: list | None, parent_host: str | None, poll_interval: float, pending_timeout: float, require_image_file: bool = False) dict[source]