Skip to main content

GBD Benchmark Database Tools: Maintenance of Benchmark Instances and their Attributes

Project description

GBD Benchmark Database

GBD Benchmark Database (GBD) is about bridging the gap between research on SAT algorithms and data science.

GBD has three interfaces:

  • command-line interface gbd
  • micro-services and website gbd-server
  • python interface gbd_core.api.GBD

GBD solves several problems

  • benchmark instance identification and identification of equivalence classes of benchmark instances (gbdhash, isohash, instance family, ...)
  • distribution of benchmark instances and benchmark meta-data
  • a simple query language to provide access to filtered sets of benchmark instances and instance features
  • initialization and maintenance of instance feature databases (meta.db, base.db, gate.db, ...)
  • transformation algorithms for benchmark instances such as instance sanitization or transformation of cnf to k-isp instances
  • keeping track of contexts (cnf, sanitized-cnf, k-isp, ...) and relations of instances between contexts

Programming Language

  • Python 3
  • SQLite

Installation

  • pip install gbd-tools

Configuration

  • fetch a database, e.g., https://benchmark-database.de/getdatabase/meta.db
  • export GBD_DB=[path/to/database1]:[path/to/database2:..] (and put it in your .bashrc)
  • test command-line interface with commands gbd info and gbd --help
  • test server with command gbd-server

GBD Python Interface

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'])

GBD Server

This runs under https://benchmark-database.de/. The command is available in gbd-tools: gbd-server --help

GBD Command-Line Interface

gbd get

We assume https://benchmark-database.de/getdatabase/meta.db is in your gbd path GBD_DB.

Get list of benchmark instances in database:

gbd get

Get list of benchmark instances including some meta-data

gbd get -r result family

Filter for specific benchmark instances with gbd-query

gbd get "family = hardware-bmc" -r filename

gbd init

We assume you installed the python extension module gdbc which is part of https://github.com/sat-clique/cnftools.

All initialization routines can run in parallel and per-process ressource limits can be set. See gbd init --help for more info.

gbd init local

To initialize a database with local paths to your own benchmarks:

gbd -d my.db init local [path/to/benchmarks]

After that in my.db, the features local and filename exist and are associated with their corresponding gbd-hash:

gbd -d my.db get -r local filename

gbd init isohash

To identify isomorphic instances (approximately by the hash of the sorted degree-sequence of their graph representation):

gbd -d my.db init isohash

After that in my.db, instances can be grouped by their isohash:

gbd -d my.db get -r local filename -g isohash

gbd init base, gbd init gate

gbd -d my.db:base.db init --target_db base_db base

gbd -d my.db:gate.db init --target_db gate_db gate

Project details


Release history Release notifications | RSS feed

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-4.3.9.tar.gz (997.0 kB view details)

Uploaded Source

Built Distribution

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

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: gbd_tools-4.3.9.tar.gz
  • Upload date:
  • Size: 997.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6

File hashes

Hashes for gbd_tools-4.3.9.tar.gz
Algorithm Hash digest
SHA256 4b609c69ba7994b147aee9cc6e7cdbae73f6eea3a950bcfb31ec8145daff2bae
MD5 dedae4d11c9a63ef1dc7e24da2f0b203
BLAKE2b-256 221ce22d4a05bfa335f30aa8f19e4de66392fa6fefcd0097cdb43eca33fc88b4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gbd_tools-4.3.9-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6

File hashes

Hashes for gbd_tools-4.3.9-py3-none-any.whl
Algorithm Hash digest
SHA256 6efe03a802bfd90f7b2d3987da9c1a1b3254f50ab75aac148de415d9473da08d
MD5 96cca9e4350a51abf48b9c2bdd1840ef
BLAKE2b-256 433b2b3458f526c310bb301a8fbcb93735240fecd8d5fa348d1082cf343f0ed5

See more details on using hashes here.

Supported by

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