cpbenchy run instances/ -s ortools --rules pb26-parallel- Version
- cpbenchy 0.1.0.dev0
- Last updated
- 6 Oct 2026 · 1 commit
- Authors
- ThomSerg
- Formats
- opb
- Homepage
- www.cril.univ-artois.fr/PB26/
- Tags
- pseudo-booleancompetition2026parallel
What it does
Runs your experiment the way the Pseudo-Boolean Competition 2026 runs the parallel tracks without proof logging: its limits, how runs are stopped, and its output. Results record that they followed these rules, or that you changed them.
| Wall time | CPU time | Memory | Cores | At the limit | Output |
|---|---|---|---|---|---|
| 1 h | none | 31 GB | 8 | SIGTERM, SIGKILL 1 s later | PBOutput |
Use it
import cpbenchy
cpbenchy.run("instances/", solvers=["ortools", "exact"], rules="pb26-parallel")
cpbenchy.run("instances/", solvers=["ortools"], rules="pb26-parallel", mem_limit_mib=8192, args=["--scale", "0.05"]) # a quick trycpbenchy run instances/ -s ortools -s exact --rules pb26-parallel
cpbenchy run instances/ -s ortools --rules pb26-parallel --scale 0.05 -m 8192 # a quick try: a twentieth of the time, 8 GiBThe memory limit is the competition’s. On a machine with less memory, give a lower one with -m: the runs then record the rules as modified.
To enter the competition, build a submission with these rules: cpbenchy submission.
Notes
The numbers come from the competition’s own documents, cited in the file. Competitions change their rules from year to year: check the file against the competition’s call before you rely on it, and add the next edition as a new file. Rules explains the format.
Implementation
The file src/cpbenchy/rules/pb26-parallel.toml, 18 lines, as of this version of the docs.
name = "pb26-parallel"
description = "Pseudo-Boolean Competition 2026, parallel tracks: 8 cores, without proof logging"
url = "https://www.cril.univ-artois.fr/PB26/"
# 1 h wall clock time on at least 8 cores, 31 GB per job (PB26 page). SIGTERM, then SIGKILL one second
# later, as in the requirements of earlier editions (https://www.cril.univ-artois.fr/PB24/competitionRequirements.pdf).
[settings]
time-limit = 3600 # 1 hour of wall clock time
mem-limit = 31744 # 31 GB, read as GiB
cores = 8
terminate = true
grace = 1
plugins = ["cpbenchy.observers:PBOutput"]
# How the competition calls a solver: a command line of your choice, with these placeholders
# (`cpbenchy submission` builds a launcher that takes them, in this order). TIMELIMIT: the time limit, here wall clock time.
[interface]
arguments = ["BENCHNAME", "RANDOMSEED", "TIMELIMIT", "MEMLIMIT", "NBCORE", "TMPDIR"]