slurm
| CLASS | DESCRIPTION |
|---|---|
BatchingConfigSet |
Options to configure the batching strategy (that is, how to combine |
JobRunnerConfigSLURM |
Runner-configuration specifications, for a |
SlurmConfigSet |
Options for the default or gpu SLURM config. |
| ATTRIBUTE | DESCRIPTION |
|---|---|
MemMBType |
Memory expressed in MB.
|
Attributes¶
MemMBType = Annotated[PositiveInt | NonEmptyStr, AfterValidator(slurm_mem_to_MB)]
module-attribute
¶
Memory expressed in MB.
Classes¶
BatchingConfigSet
pydantic-model
¶
Bases: BaseModel
Options to configure the batching strategy (that is, how to combine several tasks in a single SLURM job).
| ATTRIBUTE | DESCRIPTION |
|---|---|
target_cpus_per_job |
TYPE:
|
max_cpus_per_job |
TYPE:
|
target_mem_per_job |
TYPE:
|
max_mem_per_job |
TYPE:
|
target_num_jobs |
TYPE:
|
max_num_jobs |
TYPE:
|
Config:
extra:forbid
Fields:
-
target_num_jobs(PositiveInt) -
max_num_jobs(PositiveInt) -
target_cpus_per_job(PositiveInt) -
max_cpus_per_job(PositiveInt) -
target_mem_per_job(MemMBType) -
max_mem_per_job(MemMBType)
Source code in fractal_server/runner/config/_slurm.py
JobRunnerConfigSLURM
pydantic-model
¶
Bases: BaseModel
Runner-configuration specifications, for a slurm_sudo or
slurm_ssh resource.
Note: this is a common class, which is processed and transformed into more specific configuration objects during job execution.
Valid JSON example
{
"default_slurm_config": {
"partition": "partition-name",
"cpus_per_task": 1,
"mem": "100M"
},
"gpu_slurm_config": {
"partition": "gpu",
"extra_lines": [
"#SBATCH --gres=gpu:v100:1"
]
},
"user_local_exports": {
"CELLPOSE_LOCAL_MODELS_PATH": "CELLPOSE_LOCAL_MODELS_PATH",
"NAPARI_CONFIG": "napari_config.json"
},
"batching_config": {
"target_cpus_per_job": 1,
"max_cpus_per_job": 1,
"target_mem_per_job": 200,
"max_mem_per_job": 500,
"target_num_jobs": 2,
"max_num_jobs": 4
}
}
| ATTRIBUTE | DESCRIPTION |
|---|---|
default_slurm_config |
Common default options for all tasks.
TYPE:
|
gpu_slurm_config |
Default configuration for all GPU tasks.
TYPE:
|
batching_config |
Configuration of the batching strategy.
TYPE:
|
user_local_exports |
Key-value pairs to be included as
TYPE:
|
Config:
extra:forbid
Fields:
-
default_slurm_config(SlurmConfigSet) -
gpu_slurm_config(SlurmConfigSet | None) -
batching_config(BatchingConfigSet) -
user_local_exports(DictStrStr)
Source code in fractal_server/runner/config/_slurm.py
SlurmConfigSet
pydantic-model
¶
Bases: BaseModel
Options for the default or gpu SLURM config.
| ATTRIBUTE | DESCRIPTION |
|---|---|
partition |
TYPE:
|
cpus_per_task |
TYPE:
|
mem |
TYPE:
|
constraint |
TYPE:
|
gres |
TYPE:
|
time |
TYPE:
|
exclude |
TYPE:
|
nodelist |
TYPE:
|
nodes |
TYPE:
|
account |
TYPE:
|
extra_lines |
TYPE:
|
gpus |
TYPE:
|
shebang_line |
The shell shebang to use for SLURM jobs.
TYPE:
|
use_mem_per_cpu |
TYPE:
|
Config:
extra:forbid
Fields:
-
partition(NonEmptyStr | None) -
cpus_per_task(PositiveInt | None) -
mem(MemMBType | None) -
constraint(NonEmptyStr | None) -
gres(NonEmptyStr | None) -
exclude(NonEmptyStr | None) -
nodelist(NonEmptyStr | None) -
nodes(int | None) -
time(NonEmptyStr | None) -
account(NonEmptyStr | None) -
extra_lines(list[NonEmptyStr]) -
gpus(NonEmptyStr | None) -
shebang_line(str) -
use_mem_per_cpu(bool)