HPC
HPC job script generation for cluster environments.
Functions
hpc_configure
Build an HPC configuration object from the project config.
lst_tools.hpc.hpc_configure
hpc_configure(cfg: dict[str, Any], set_defaults: bool = False, *, nodes_override: int | None = None, ntasks_per_node_override: int | None = None, time_override: float | str | None = None) -> ResolvedJob
Detect environment and build a :class:ResolvedJob.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cfg
|
dict[str, Any]
|
Full application config ( |
required |
set_defaults
|
bool
|
Apply generous defaults ( |
False
|
nodes_override, ntasks_per_node_override, time_override
|
Programmatic overrides — used by callers like tracking_setup that compute optimal values before building the script. |
required |
script_build
Generate job submission scripts from the HPC configuration.
lst_tools.hpc.script_build
script_build(cfg: ResolvedJob, fpath: str | Path, *, args: list[str] | None = None, lst_exe: str | None = None, extra_env: dict[str, str] | None = None) -> Path
Render a batch script and write it to fpath.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cfg
|
ResolvedJob
|
A :class: |
required |
fpath
|
str | Path
|
Path where the script file is created. |
required |
args
|
list[str] | None
|
Command-line arguments for the solver. |
None
|
lst_exe
|
str | None
|
Name or path of the LST executable. |
None
|
extra_env
|
dict[str, str] | None
|
Additional environment variables to export. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
Path |
Path
|
Absolute path to the written script file. |
ResolvedJob
Resolved scheduler-specific job settings used by script generation.
lst_tools.hpc.ResolvedJob
dataclass
ResolvedJob(nodes: int | None = None, ntasks_per_node: int | None = None, cpus_per_task: int | None = None, time: float | str = 1.0, partition: str | None = None, qos: str | None = None, account: str | None = None, mem_per_cpu: str | None = None, constraint: str | None = None, job_name: str = 'lst', output: str | None = None, workdir: str | None = None, hostname: str | None = None, scheduler: str | None = None, launcher: str | None = None, modules: tuple[str, ...] = (), extra_sbatch: tuple[str, ...] = (), extra_pbs: tuple[str, ...] = (), fname_run_script: str | None = None)
detect
Detect scheduler/environment information (for example SLURM or PBS context).