Templates
Templates control how scripts for benchmarking are generated. Run templates
(.sh
scripts) are used for individual benchmark runs, while dist templates
(.dist
scripts) serve distributed computation on clusters.
You can browse a curated collection of example templates in the benchmark-tool repository.
Run Templates¶
Run templates define how each benchmark instance is executed. During script
generation, references within the template (e.g., run.files
) are replaced
with corresponding values.
The following references are available:
run.files
: instance filesrun.encodings
: encoding files used for this instancerun.root
: path to the benchmark-tool folderrun.timeout
: walltime for this runrun.memout
: memory limit for this run in MB (default: 20000)run.solver
: solver or program used for this runrun.args
: additional arguments for the solver/program
Most templates use the runlim program to supervise benchmark runs.
Dist Templates¶
Dist templates define how jobs are grouped and executed on a cluster, including job parameters such as walltime, environment setup, and job scheduling order.
Parameters can be set using the standard SLURM #SBATCH
syntax.
The following references are available:
walltime
: overall time limitcpt
: number of CPUs per taskpartition
: cluster partition to usedist_options
: additional options for distributed jobs (e.g., SLURM)jobs
: list of jobs to run