classDiagram
class DistributionConfig
click DistributionConfig href "./DistributionConfig.html"
DistributionConfig : by
DistributionConfig --> "0..1" WorkflowDistributeBy : by
click WorkflowDistributeBy href "../../enums/WorkflowDistributeBy.html"
DistributionConfig : chunk
DistributionConfig --> "0..1" Integer : chunk
click Integer href "../http://www.w3.org/2001/XMLSchema#integer.html"
DistributionConfig : vectorize
DistributionConfig --> "*" String : vectorize
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
DistributionConfig : workflow
DistributionConfig --> "*" String : workflow
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Class: DistributionConfig
Policy for mapping a parameter sweep’s exploration axes onto the two parallelism tiers when rendering a distributed workflow. Vectorized axes are packed into a single batched backend call (e.g. vmap/pmap); workflow axes are fanned out into independent scheduler tasks, one per value combination. Backend-independent: the emitter validates that a requested vectorized axis is one the chosen backend can actually batch.
Class Properties
| Property | Value |
|---|---|
| Class URI | tvbo:DistributionConfig |
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| by | 0..1 WorkflowDistributeBy |
Default tier for axes not named in vectorize or workflow |
direct |
| vectorize | * xsd:string |
Axis names or parameters to pack into a single vectorized backend call | direct |
| workflow | * xsd:string |
Axis names or parameters to fan out into independent scheduler tasks (one wor… | direct |
| chunk | 0..1 xsd:integer |
Sharding granularity — the inter-task (inter-node) tier | direct |
Usages
| used by | used in | type | used |
|---|---|---|---|
| WorkflowConfig | distribute | range | DistributionConfig |
Identifier and Mapping Information
Schema Source
- from schema: https://w3id.org/tvbo
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | tvbo:DistributionConfig |
| native | tvbo:DistributionConfig |
LinkML Source
Direct
name: DistributionConfig
description: 'Policy for mapping a parameter sweep''s exploration axes onto the two
parallelism tiers when rendering a distributed workflow. Vectorized axes are packed
into a single batched backend call (e.g. vmap/pmap); workflow axes are fanned out
into independent scheduler tasks, one per value combination. Backend-independent:
the emitter validates that a requested vectorized axis is one the chosen backend
can actually batch.'
from_schema: https://w3id.org/tvbo
attributes:
by:
name: by
description: Default tier for axes not named in ``vectorize`` or ``workflow``.
Unset means ``auto``.
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- DistributionConfig
range: WorkflowDistributeBy
vectorize:
name: vectorize
description: Axis names or parameters to pack into a single vectorized backend
call. It is an error to name an axis the backend cannot batch.
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- DistributionConfig
range: string
multivalued: true
workflow:
name: workflow
description: Axis names or parameters to fan out into independent scheduler tasks
(one workflow cell per value combination).
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- DistributionConfig
- SimulationExperiment
- SimulationStudy
range: string
multivalued: true
chunk:
name: chunk
description: 'Sharding granularity — the inter-task (inter-node) tier. For a fully
vectorized sweep, the number of independent scheduler shards to split the batched
cells across (each task runs ``1/chunk`` of the grid on its own node). For a
fanned sweep, the number of workflow cells packed into one task. Unset means
one shard. This is orthogonal to the intra-task device tier (Exploration.parallel_mode:
vmap/lax_map/pmap): on CPU, where nodes are plentiful, raise chunk to fan the
grid across many nodes; on GPU, where nodes are scarce, keep chunk=1 so one
node holds the whole grid and batches it on-device with vmap rather than claiming
many GPUs.'
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- DistributionConfig
- WorkflowConfig
range: integer
minimum_value: 1
class_uri: tvbo:DistributionConfigInduced
name: DistributionConfig
description: 'Policy for mapping a parameter sweep''s exploration axes onto the two
parallelism tiers when rendering a distributed workflow. Vectorized axes are packed
into a single batched backend call (e.g. vmap/pmap); workflow axes are fanned out
into independent scheduler tasks, one per value combination. Backend-independent:
the emitter validates that a requested vectorized axis is one the chosen backend
can actually batch.'
from_schema: https://w3id.org/tvbo
attributes:
by:
name: by
description: Default tier for axes not named in ``vectorize`` or ``workflow``.
Unset means ``auto``.
from_schema: https://w3id.org/tvbo
rank: 1000
owner: DistributionConfig
domain_of:
- DistributionConfig
range: WorkflowDistributeBy
vectorize:
name: vectorize
description: Axis names or parameters to pack into a single vectorized backend
call. It is an error to name an axis the backend cannot batch.
from_schema: https://w3id.org/tvbo
rank: 1000
owner: DistributionConfig
domain_of:
- DistributionConfig
range: string
multivalued: true
workflow:
name: workflow
description: Axis names or parameters to fan out into independent scheduler tasks
(one workflow cell per value combination).
from_schema: https://w3id.org/tvbo
rank: 1000
owner: DistributionConfig
domain_of:
- DistributionConfig
- SimulationExperiment
- SimulationStudy
range: string
multivalued: true
chunk:
name: chunk
description: 'Sharding granularity — the inter-task (inter-node) tier. For a fully
vectorized sweep, the number of independent scheduler shards to split the batched
cells across (each task runs ``1/chunk`` of the grid on its own node). For a
fanned sweep, the number of workflow cells packed into one task. Unset means
one shard. This is orthogonal to the intra-task device tier (Exploration.parallel_mode:
vmap/lax_map/pmap): on CPU, where nodes are plentiful, raise chunk to fan the
grid across many nodes; on GPU, where nodes are scarce, keep chunk=1 so one
node holds the whole grid and batches it on-device with vmap rather than claiming
many GPUs.'
from_schema: https://w3id.org/tvbo
rank: 1000
owner: DistributionConfig
domain_of:
- DistributionConfig
- WorkflowConfig
range: integer
minimum_value: 1
class_uri: tvbo:DistributionConfig