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.

URI: tvbo:DistributionConfig

 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 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:DistributionConfig

Induced

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