Run a parameter sweep
A sweep turns a single spec into one job per combination of parameters — the Cartesian product of every value you list. Each job is scheduled independently, so the whole grid runs in parallel across the greenest available EU capacity.
Define the grid
Section titled “Define the grid”Add a sweep block mapping each parameter to the list of values it should take.
Reference a parameter in the command as ${PARAM}; Komputo substitutes the value
and also exposes it as an environment variable.
name: lr-sweepimage: registry.komputo.eu/examples/train:latestcommand: python train.py --lr ${learning_rate} --batch ${batch_size}resources: accelerators: H100:8policy: optimize: greenest-eusweep: learning_rate: [0.1, 0.01, 0.001] batch_size: [16, 32]This expands to 3 × 2 = 6 jobs, named lr-sweep-0 through lr-sweep-5. Each one
gets its own learning_rate and batch_size substituted into the command and set
in the environment.
Submit the sweep
Section titled “Submit the sweep”komputo sweep lr-sweep.komputo.yamlKomputo prints the job id for every combination. Every job in the sweep carries a shared sweep tag, so you can list them together:
komputo ps --tag sweep=<sweep-id>Collect results
Section titled “Collect results”Each job produces its own receipt and artifacts. Pull a job’s outputs once it completes:
komputo cp <job-id>:outputs/ ./results/<job-id>/Because the jobs are independent, a failure in one combination never blocks the rest — re-submit just that spec with the single set of values that failed.