combobulator
combobulator
¶
Declarative execution chains.
Step
¶
Bases: BaseModel
One job and the lineage from which it should start.
job_name: str
property
¶
Return the registered name or portable class identity for this job.
new(job: type[BasicJob[Any]], base: BaseQuery | None = None, resume: bool = False, implicit_base: Literal['previous'] | None = None) -> Self
classmethod
¶
Build an execution step and immediately serialize its base query.
Combobulation
¶
Bases: BaseModel
Ordered jobs and resource constraints for one execution.
jobs: tuple[type[BasicJob[Any]], ...]
property
¶
Return the job classes in execution order.
config: DictConfig
property
¶
Return the mutable, structured configuration shared by all steps.
healthcheck() -> bool
¶
Return whether the execution has a job and no missing config values.
run(job: type[BasicJob[Any]]) -> Self
¶
Append a fresh job without restoring a checkpoint.
branch(job: type[BasicJob[Any]], base: BaseQuery | None = None) -> Self
¶
Append a job that starts a new lineage from a checkpoint.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
job
|
type[BasicJob[Any]]
|
Job class to run after the current final step. |
required |
base
|
BaseQuery | None
|
Optional query selecting an explicit base. Without one, the execution uses the preceding step's last checkpoint. |
None
|
Returns:
| Type | Description |
|---|---|
Self
|
A new execution ending with the branching job. |
resume(job: type[BasicJob[Any]], base: BaseQuery | None = None) -> Self
¶
Append a job that continues an existing checkpoint lineage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
job
|
type[BasicJob[Any]]
|
Job class to run after the current final step. |
required |
base
|
BaseQuery | None
|
Optional query selecting an explicit base. Without one, the execution uses the preceding step's last checkpoint. |
None
|
Returns:
| Type | Description |
|---|---|
Self
|
A new execution ending with the resumed job. |
memory(minimum: int | str) -> Self
¶
Request memory per node: integer MiB or a size such as "64Gi".
shard(tp: int = 1, fsdp: bool = False, zero: bool = True, activation_checkpointing: bool = False) -> Self
¶
Set parallelism for every job in this execution.
cpu(minimum: int) -> Self
¶
Return a new execution with a minimum CPU request.
gpu(minimum: int) -> Self
¶
Return a new execution with a minimum GPU request.
chip(chip: str | Chip) -> Self
¶
Return a new execution accepting one additional chip type.
serialize() -> DictConfig
¶
Serialize the complete execution setup.
Returns:
| Type | Description |
|---|---|
DictConfig
|
An OmegaConf containing the execution graph, resource constraints, |
DictConfig
|
and hydrated component configuration. |
deserialize(serialized: DictConfig) -> Self
classmethod
¶
Restore an execution from :meth:serialize output.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
serialized
|
DictConfig
|
Complete execution setup. |
required |
Returns:
| Type | Description |
|---|---|
Self
|
The restored execution with its embedded component configuration. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If a serialized job cannot be resolved or restored. |
Combobulator
¶
Assemble declarative execution chains without running them.
run(job: type[BasicJob[Any]], base: BaseQuery | None = None) -> Combobulation
¶
Start an execution with one job.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
job
|
type[BasicJob[Any]]
|
First job class in the execution. |
required |
base
|
BaseQuery | None
|
Optional query selecting the node from which to branch. An empty query result causes execution to stop without running it. |
None
|
Returns:
| Type | Description |
|---|---|
Combobulation
|
A new execution containing the initial job. |