GBD is a comprehensive suite of tools for provisioning and sustainably maintaining benchmark instances and their metadata for empirical research on hard algorithmic problem classes.
GBD provides benchmark instance identifiers, feature extractors, and instance transformers for hard algorithmic problem domains, now including propositional satisfiability (SAT) and optimization (MaxSAT), and pseudo-Boolean optimization (PBO).
GBD provides an extensible set of problem domains, feature extractors, and instance transformers.
For a description of those currently supported, see the GBDC documentation.
GBDC is a Python extension module for GBD's performance-critical code (written in C++), maintained in a separate repository.
pip install gbd-tools
pip install gbdc
(optional, installation of extension module gbdc
)export GBD_DB=[path/to/database1]:[path/to/database2:..]
.gbd info
and gbd --help
commands.Central commands in gbd
are those for data access gbd get
and database initialization gbd init
. See gbd --help
for more commands. Once a database is registered in the environment variable GBD_DB
, the gbd get
command can be used to access data. See gbd get --help
for more information. gbd init
provides access to registered feature extractors, such as those provided by the gdbc
extension module. All initialization routines can be run in parallel, and resource limits can be set per process. See gbd init --help
for more information.
The GBD server can be started locally with gbd serve
. Our instance of the GBD server is hosted at https://benchmark-database.de/. You can download benchmark instances and prebuilt feature databases from there.
The GBD Python interface is used by all programs in the GBD ecosystem. Important here is the query
command, which returns GBD data in the form of a Pandas dataframe for further analysis, as shown in the following example.
from gbd_core.api import GBD
with GBD(['path/to/database1', 'path/to/database2', ..] as gbd:
df = gbd.query("family = hardware-bmc", resolve=['verified-result', 'runtime-kissat'])
Many thanks [for] GBD - a benchmark database which makes instance-specific analyses in SAT research possible for a newcomer without despairing.
A Helmholtz Pilot Program