Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
720 changes: 117 additions & 603 deletions examples/puzzletron/README.md

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions examples/puzzletron/configs/orchestration/execution.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,24 @@ execution:
artifact_settling_timeout_seconds: 300
gpus_per_node: 8
stages:
# CPU-only stages request no GPUs and can override the runner partition.
# A list lets Slurm select any eligible CPU partition.
convert:
strategy: single
instances: 1
resource: cpu
partition:
- REPLACE_WITH_PRIMARY_CPU_SLURM_PARTITION
- REPLACE_WITH_ALTERNATE_CPU_SLURM_PARTITION
tokenize_data:
strategy: single
instances: 1
resource: cpu
partition: REPLACE_WITH_PRIMARY_CPU_SLURM_PARTITION
# Final report generation is always CPU-only and accepts a partition
# override without resource or strategy fields.
final_report:
partition: REPLACE_WITH_PRIMARY_CPU_SLURM_PARTITION
vllm_stats:
strategy: sharded
instances: 16
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,8 @@ runner:
slurm:
account: REPLACE_WITH_SLURM_ACCOUNT
partition: REPLACE_WITH_SLURM_PARTITION
partition_batch: REPLACE_WITH_SLURM_PARTITION
partition_interactive:
partition_cpu:
interactive_max_nodes: 1
max_nodes: 1
time_limit: "1:00:00"
log_dir: puzzle_runs/qwen3p5_0p8b_smoke/logs
execution_contract:
repository: REPLACE_WITH_WORKER_VISIBLE_MODELOPT_CHECKOUT
venv: REPLACE_WITH_WORKER_VISIBLE_MODELOPT_VENV
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ execution:
stages:
convert: {strategy: single, instances: 1}
tokenize_data: {strategy: single, instances: 1}
# One interactive node (8 GPUs): pack 8 vLLM shards onto that single node.
vllm_stats: {strategy: sharded, instances: 8, partition: interactive}
width_importance: {strategy: single, instances: 1, partition: interactive}
# One node (8 GPUs): pack 8 vLLM shards onto that single node.
vllm_stats: {strategy: sharded, instances: 8}
width_importance: {strategy: single, instances: 1}
# One gang-scheduled allocation: four 8-GPU workers, coordinator on node 0.
depth_importance: {strategy: persistent_pool, instances: 4, partition: batch}
sort: {strategy: single, instances: 1, partition: interactive}
sort_sanity: {strategy: single, instances: 1, partition: interactive}
width_sanity: {strategy: single, instances: 1, partition: interactive}
slicing_sanity: {strategy: single, instances: 1, partition: interactive}
bypass_sanity: {strategy: single, instances: 1, partition: interactive}
depth_importance: {strategy: persistent_pool, instances: 4}
sort: {strategy: single, instances: 1}
sort_sanity: {strategy: single, instances: 1}
width_sanity: {strategy: single, instances: 1}
slicing_sanity: {strategy: single, instances: 1}
bypass_sanity: {strategy: single, instances: 1}
bypass: {strategy: single, instances: 1}
build_library:
strategy: single
Expand All @@ -32,7 +32,7 @@ execution:
dp_shard: 1
dp_replicate: 1
# One gang-scheduled allocation: two 8-GPU workers, coordinator on node 0.
replacement_scoring: {strategy: persistent_pool, instances: 2, partition: interactive}
replacement_scoring: {strategy: persistent_pool, instances: 2}
mip: {strategy: single, instances: 1}
zero_shot_evaluation: {strategy: sharded, instances: 8}
aiperf: {strategy: sharded, instances: 8}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,10 @@ runner:
slurm:
# Required placeholder. Replace with the Slurm account for your site.
account: REPLACE_WITH_SLURM_ACCOUNT
# Replace these generic partition names if your site uses different names.
partition: batch
partition_interactive: interactive
partition_batch: batch
# Optional. CPU/IO stages use the regular one-node partition when unset.
partition_cpu:
interactive_max_nodes: 2
# Replace with one partition name or a list of eligible names for this site.
partition: REPLACE_WITH_SLURM_PARTITION
max_nodes: 20
time_limit: "4:00:00"
log_dir: puzzle_runs/qwen-moe/logs
execution_contract:
# Replace with the ModelOpt checkout path visible on every worker and in the container.
repository: REPLACE_WITH_WORKER_VISIBLE_MODELOPT_CHECKOUT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,13 @@ runner:
slurm:
# Required placeholder. Replace with the Slurm account for your site.
account: REPLACE_WITH_SLURM_ACCOUNT
# Replace these generic partition names if your site uses different names.
partition: batch
partition_interactive: interactive
partition_batch: batch
# Optional. CPU/IO stages use the regular one-node partition when unset.
partition_cpu:
interactive_max_nodes: 2
# Optional default for stages without a partition override. Use one name or
# a list of eligible names. Slurm uses the site default when this is omitted.
partition:
- REPLACE_WITH_PRIMARY_SLURM_PARTITION
- REPLACE_WITH_ALTERNATE_SLURM_PARTITION
time_limit: "4:00:00"
log_dir: puzzle_runs/logs
log_dir: logs
execution_contract:
# Required. Use the checkout path visible on every worker and in the container, if used.
repository: REPLACE_WITH_WORKER_VISIBLE_MODELOPT_CHECKOUT
Expand Down
5 changes: 3 additions & 2 deletions examples/puzzletron/configs/setup/defaults.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@ infrastructure:
slurm:
# Add the required Slurm account for your site before using this file.
# account: REPLACE_WITH_SLURM_ACCOUNT
# Optional. CPU/IO stages use the regular partition when unset.
partition_cpu:
# Optional. Use one partition name or a list of eligible names. When
# omitted, Slurm uses the site's default partition.
partition:
24 changes: 22 additions & 2 deletions examples/puzzletron/docs/campaign_reports.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,31 @@
# Puzzletron Campaign Reports

This page catalogs retained Puzzletron campaign reports and the status of their
evidence. The compact [campaign report index](../reports/campaign_report_index.yaml)
The orchestrator generates a cumulative HTML report after a campaign. Regenerate
it without rerunning model work:

```bash
python examples/puzzletron/generate_campaign_progress_report.py \
--puzzle-dir /shared/puzzle_runs/my_campaign \
--model-name 'My model'
```

The output is
`<puzzle-dir>/artifacts/campaign_report/campaign_report.html`. Section inputs
and configuration fingerprints are cached under
`<puzzle-dir>/artifacts/campaign_report/section_cache`. Use
`--rebuild-section aiperf` to rebuild one section, or `--no-cache` to rebuild
the whole report.

This page also catalogs retained Puzzletron campaign reports and the status of
their evidence. The compact [campaign report index](../reports/campaign_report_index.yaml)
records each report's producer state, reproduction and support status, metadata
origin, current-configuration relationship, and known limitations. Detailed
run facts remain in the reports.

Retained reports are self-contained HTML files and may be hundreds of MB.
Download them and open them locally. Interpret their results together with the
reproduction status and unresolved findings below.

## Report status

| Model | Report | Producer state | Reproduction | Support | Current configuration relationship |
Expand Down
20 changes: 20 additions & 0 deletions examples/puzzletron/docs/configuration_overrides.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Experiment overrides

Use command-line overrides for temporary experiment value changes. Append a
repeatable `--override KEY=VALUE` to the orchestrator command and inspect the
result with `--dry-run` before launch:

```bash
--override mip.runs.params-90.solver.num_solutions=4 \
--override ++runtime_annotations.reason=capacity-check \
--dry-run
```

Plain `KEY=VALUE` and explicit `++KEY=VALUE` both add or replace experiment
values. The controller and GPU workers interpret these forms identically.
Single-plus add (`+KEY=VALUE`) and delete (`~KEY`) operators are not
supported. Put structural changes in a copied run config so they remain easy to
review.

Overrides apply only to the experiment config. Edit or copy the runner and
execution files when changing site or scheduler settings.
Loading
Loading