Skip to main content

Global Benchmark Database (GBD)

DOI

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. For an introduction to the GBD concept, the underlying data model, and specific use cases, please refer to our 2024 SAT Tool Paper.

GBD 5.0 Release Notes

In addition to several bug fixes and performance improvements, GBD 5.0 no longer depends on Pandas for its interface module. This simplifies installation and use in various environments. The faster, more lightweight Polars library is now used for dataframes instead. Therefore, upgrading to GBD 5.0 requires existing code to be adapted to use Polars dataframes, or Polars dataframes to be explicitly converted to Pandas dataframes (e.g. via df.to_pandas()).

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 provides GBD's performance-critical code (written in C++) as standalone command-line tools (feature extractors and instance transformers) that gbd invokes as external processes. It is maintained in a separate repository. Extractors and transformers are registered in gbd's configuration, so you can also write and register your own tools.

Installation and Configuration

  • Run pip install gbd-tools
  • Run pip install 'gbd-tools[gbdc]' on supported platforms to also install the GBDC feature extractors and instance transformers used by gbd init and gbd transform
  • Obtain a GBD database, e.g. download https://benchmark-database.de/getdatabase/meta.db.
  • Register your databases via the environment: export GBD_DB=path/to/database1:path/to/database2.
  • Alternatively, register a central TOML configuration file via export GBD=path/to/gbd.toml. It can declare databases, contexts, extractors, and transformers. When set, it takes precedence over GBD_DB; a -d/--db argument (a database list or a config file) overrides both.
  • Test the command line interface with the gbd info and gbd --help commands.

GBD Interfaces

GBD provides the command-line tool gbd, the web interface gbd serve, and the Python interface gbd_core.api.GBD.

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 (via GBD_DB, a GBD config file, or -d/--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 the standalone tools provided by gbdc, and gbd transform applies registered instance transformers. 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'])

Scripts and use cases of GBD's Python interface are available on https://udopia.github.io/gbdeval/. The evaluation demo demonstrates portfolio analysis and subsequent category-wise performance evaluation using the 2023 SAT competition data. The prediction demo demonstrates category prediction from instance features and subsequent feature importance evaluation.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gbd_tools-5.2.0.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gbd_tools-5.2.0-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file gbd_tools-5.2.0.tar.gz.

File metadata

  • Download URL: gbd_tools-5.2.0.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gbd_tools-5.2.0.tar.gz
Algorithm Hash digest
SHA256 81ed6c037aeb62ddfc9336ed7c1836f0691cf40d172e3ac4079f70e77aefe40d
MD5 b35ab1c2f3e1b08ef56a31f28c7d279c
BLAKE2b-256 5792ae16403b92e8404b698b3f62f674ac2490709ae70b448b07f1752aac3f4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbd_tools-5.2.0.tar.gz:

Publisher: publish.yml on Udopia/gbd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gbd_tools-5.2.0-py3-none-any.whl.

File metadata

  • Download URL: gbd_tools-5.2.0-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gbd_tools-5.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 966479f8d5a16c1c4e0f7bd1431d973b8e19fbe432df3fbf6ff23738f1ceebe6
MD5 fea30b1669fdb21653c3ac8ab3730c4a
BLAKE2b-256 07159317b0f076855b0880c5f906d53422cac091af20d5dbba431e0528b49c4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbd_tools-5.2.0-py3-none-any.whl:

Publisher: publish.yml on Udopia/gbd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

5.3.0

2 files

5.2.10

2 files

5.2.9

2 files

5.2.8

2 files

5.2.7

2 files

5.2.6

2 files

5.2.5

2 files

5.2.4

2 files

5.2.3

2 files

This release

5.2.0 This release

2 files

5.1.0

2 files

5.0.7

2 files

5.0.6

2 files

5.0.5

2 files

5.0.4

2 files

5.0.3

2 files

5.0.2

2 files

5.0.1

2 files

5.0.0

2 files

4.9.14

2 files

4.9.13

2 files

4.9.12

2 files

4.9.11

2 files

4.9.10

2 files

4.9.9

2 files

4.9.8

2 files

4.9.7

2 files

4.9.6

2 files

4.9.5

2 files

4.9.4

2 files

4.9.3

2 files

4.9.2

2 files

4.9.1

2 files

4.8.9

2 files

4.8.8

2 files

4.8.7

2 files

4.8.6

2 files

4.8.5

2 files

4.8.4

2 files

4.8.3

2 files

4.8.2

2 files

4.8.1

2 files

4.8.0

2 files

4.7.9

2 files

4.7.8

2 files

4.7.7

2 files

4.7.6

2 files

4.7.5

2 files

4.7.4

2 files

4.7.3

2 files

4.7.2

2 files

4.7.1

2 files

4.7.0

2 files

4.6.9

2 files

4.6.8

2 files

4.6.7

2 files

4.6.6

2 files

4.6.5

2 files

4.6.4

2 files

4.6.3

2 files

4.6.2

2 files

4.6.0

2 files

4.5.9

2 files

4.5.8

2 files

4.5.7

2 files

4.5.6

2 files

4.5.5

2 files

4.5.4

2 files

4.5.3

2 files

4.5.2

2 files

4.5.1

2 files

4.5.0

2 files

4.4.9

2 files

4.4.8

2 files

4.4.7

2 files

4.4.6

2 files

4.4.5

2 files

4.4.4

2 files

4.4.1

2 files

4.4.0

2 files

4.3.9

2 files

4.3.8

2 files

4.3.7

2 files

4.3.6

2 files

4.3.5

2 files

4.3.4

2 files

4.3.3

2 files

4.3.2

2 files

4.3.1

2 files

4.3.0

2 files

4.2.9

2 files

4.2.8

2 files

4.2.7

2 files

4.2.6

2 files

4.2.4

2 files

4.2.3

2 files

4.2.2

2 files

4.2.1

2 files

4.2.0

2 files

4.1.9

2 files

4.1.8

2 files

4.1.7

2 files

4.1.6

2 files

4.1.5

2 files

4.1.4

2 files

4.1.3

2 files

4.1.2

2 files

4.1.1

2 files

4.1.0

2 files

4.0.8

2 files

4.0.7

2 files

4.0.6

2 files

4.0.5

2 files

4.0.4

2 files

4.0.3

2 files

4.0.2

2 files

4.0.1

2 files

4.0.0

2 files

3.9.9

2 files

3.9.8

2 files

3.9.7

2 files

3.9.6

2 files

3.9.5

2 files

3.9.4

2 files

3.9.3

2 files

3.9.2

2 files

3.9.1

2 files

3.9.0

2 files

3.8.9

2 files

3.8.8

2 files

3.8.7

2 files

3.8.6

2 files

3.8.5

2 files

3.8.4

2 files

3.8.3

2 files

3.8.2

2 files

3.8.1

2 files

3.8.0

2 files

3.7.9

2 files

3.7.8

2 files

3.7.7

2 files

3.7.6

2 files

3.7.5

2 files

3.7.4

2 files

3.7.3

2 files

3.7.2

2 files

3.7.1

2 files

3.7.0

2 files

3.6.8

2 files

3.6.7

2 files

3.6.6

2 files

3.6.5

2 files

3.6.4

2 files

3.6.3

2 files

3.6.2

2 files

3.6.1

2 files

3.6.0

2 files

3.5.9

2 files

3.5.8

2 files

3.5.7

2 files

3.5.6

2 files

3.5.5

2 files

3.5.4

2 files

3.5.3

2 files

3.5.2

2 files

3.5.1

2 files

3.5.0

2 files

3.4.3

2 files

3.4.2

2 files

3.4.1

2 files

3.4.0

2 files

3.3.9

2 files

3.3.8

2 files

3.3.7

2 files

3.3.5

2 files

3.3.4

2 files

3.3.3

2 files

3.3.2

2 files

3.3.1

2 files

3.3.0

2 files

3.2.9

2 files

3.2.8

2 files

3.2.7

2 files

3.2.6

2 files

3.2.5

2 files

3.2.4

2 files

3.2.3

2 files

3.2.2

2 files

3.2.1

2 files

3.2.0

2 files

3.1.9

2 files

3.1.8

2 files

3.1.7

2 files

3.1.6

2 files

3.1.5

2 files

3.1.4

2 files

3.1.3

2 files

3.1.2

2 files

3.1.1

2 files

3.1.0

2 files

3.0.9

2 files

3.0.8

2 files

3.0.7

2 files

3.0.6

2 files

3.0.5

2 files

3.0.4

2 files

3.0.3

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.9.9

2 files

2.9.8

2 files

2.9.7

2 files

2.9.6

2 files

2.9.5

2 files

2.9.4

2 files

2.9.3

2 files

2.9.2

2 files

2.9.1

2 files

2.9.0

2 files

2.8.9

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page