Runner Config¶
Reference for all runner configuration fields. Configuration is loaded from YAML files and merged across layers (install, site, project, CLI).
Top-Level Structure¶
runner:
default: local # or "type: lsf"
pool:
min_workers: 0
max_workers: 16
idle_timeout: 300
launch_batch_size: 4
lsf:
bsub_cmd: bsub
queue: ""
project: ""
resource_select: []
bsub_extra: []
worker_dfm_path: dfm
defaults:
memory: "1G"
cores: 1
walltime: "1:00"
resource_classes:
small: { cores: 1, memory: "2G" }
medium: { cores: 4, memory: "8G" }
large: { cores: 8, memory: "32G" }
Runner Type¶
default/typeRunner backend name.
defaultandtypeare synonyms; both set the active runner. Default:local.
Pool Config¶
Controls worker pool scaling (used by remote runners).
min_workers(int, default 0)Minimum warm workers per resource class.
max_workers(int, default 16)Maximum concurrent workers per resource class.
idle_timeout(int, default 300)Seconds before an idle worker is terminated.
launch_batch_size(int, default 4)Workers to launch per scale-up event.
LSF Config¶
LSF-specific settings. Ignored when using the local runner.
bsub_cmd(str, default"bsub")Command to submit jobs. Sites with wrapper scripts (e.g.
lsf_bsub) set this in the install config. Last-writer-wins.queue(str, default"")Default LSF queue (
-q). Empty means LSF picks the default. Last-writer-wins.project(str, default"")Accounting project string (
-P). Last-writer-wins.resource_select(list of str, default[])Host selection predicates for
-R select[...]. Accumulated across layers; predicates from all layers are combined with&&.bsub_extra(list of str, default[])Arbitrary extra
bsubflags (e.g.["-G", "dv_users"]). Accumulated across layers.worker_dfm_path(str, default"dfm")Path to the
dfmbinary on compute nodes. Last-writer-wins.
Resource Defaults¶
Default resource requirements for tasks without explicit resource tags.
memory(str, default"1G")Memory with unit suffix (e.g.
"512M","2G").cores(int, default 1)Number of CPU cores.
walltime(str, default"1:00")Maximum walltime in
HH:MMformat.
Resource Classes¶
Named bundles of resource requirements. Tasks can reference a class
by name via std.ResourceTag: { resource_class: large }.
resource_classes:
small: { cores: 1, memory: "2G" }
medium: { cores: 4, memory: "8G" }
large: { cores: 8, memory: "32G" }
gpu:
cores: 4
memory: "16G"
queue: gpu_queue
resource_select: ["ngpus>0"]
Each class may include its own queue and resource_select
overrides that are merged with the config-level values at submission
time.
Merge Rules¶
Field |
Merge Strategy |
|---|---|
|
Last-writer-wins |
|
Last-writer-wins |
|
Last-writer-wins |
|
Last-writer-wins |
|
Last-writer-wins |
|
Accumulated |
|
Accumulated |
Pool scalars |
Last-writer-wins |
Environment Variables¶
DFM_RUNNEROverride the runner type (equivalent to
--runner).DFM_INSTALL_CONFIGPath to the installation config file (overrides the default
<sys.prefix>/etc/dfm/config.yaml).