Global Benchmark Database (GBD)
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.
Cite this software
Description
GBD contributes data to your algorithmic evaluations.
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 solves several problems
- benchmark instance identification
- identification of equivalence classes of benchmark instances
- distribution of benchmark instances and benchmark metadata
- initialization and maintenance of instance feature databases
- transformation algorithms for benchmark instances
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.
Installation and Configuration
- Run
pip install gbd-tools - Run
pip install gbdc(optional, installation of extension modulegbdc) - Obtain a GBD database, e.g. download https://benchmark-database.de/getdatabase/meta.db.
- Configure your environment by registering paths to databases like this
export GBD_DB=[path/to/database1]:[path/to/database2:..]. - Test the command line interface with the
gbd infoandgbd --helpcommands.
GBD Interfaces
GBD Command-Line Interface
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.
GBD Server
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.
GBD Python Interface
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'])
- MIT
Participating organisations
Reference papers
Mentions
- 1.Author(s): Sabrine Saouli, Souheib Baarir, Claude DutheilletPublished in Lecture Notes in Computer Science, Integrated Formal Methods by Springer Nature Switzerland in 2024, page: 288-29610.1007/978-3-031-76554-4_17
- 2.Author(s): Tobias Fuchs, Jakob Bach, Markus IserPublished in Lecture Notes in Computer Science, Tools and Algorithms for the Construction and Analysis of Systems by Springer Nature Switzerland in 2023, page: 407-42510.1007/978-3-031-30823-9_21
- 3.Author(s): Dominik Schreiber, Peter SandersPublished in Lecture Notes in Computer Science, Theory and Applications of Satisfiability Testing – SAT 2021 by Springer International Publishing in 2021, page: 518-53410.1007/978-3-030-80223-3_35
- 1.Author(s): Zhihui Li, Shuwei Chen, Guanfeng Wu, Yang XuPublished in 202510.1007/s44196-025-00798-4
- 2.Author(s): Zhengyuan Shi, Zeju Li, Chengyu Ma, Yunhao Zhou, Ziyang Zheng, Jiawei Liu, Hongyang Pan, Lingfeng Zhou, Kezhi Li, Jiaying Zhu, Lingwei Yan, Zhiqiang He, Chenhao Xue, Wentao Jiang, Fan. Yang, Guangyu. Sun, Xiaoyan. Yang, Gang. Chen, Chuan. Shi, Zhufei. Chu, Jun Yang, Qiang XuPublished in 202510.1109/iseda65950.2025.11101194
- 3.Author(s): Tobias Fuchs, Jakob Bach, Markus IserPublished in 202510.1007/s10817-025-09729-6
Testimonials
Many thanks [for] GBD - a benchmark database which makes instance-specific analyses in SAT research possible for a newcomer without despairing.
Contributors
Contact person
Helmholtz Program-oriented Funding IV
Related projects
Core Informatics
A Helmholtz Pilot Program