Skip to main content
https://img.shields.io/pypi/v/mdbenchmark.svg https://anaconda.org/conda-forge/mdbenchmark/badges/version.svg https://img.shields.io/pypi/l/mdbenchmark.svg https://travis-ci.org/bio-phys/MDBenchmark.svg?branch=develop https://readthedocs.org/projects/mdbenchmark/badge/?version=latest&style=flat https://codecov.io/gh/bio-phys/MDBenchmark/branch/develop/graph/badge.svg https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square https://zenodo.org/badge/112506401.svg

MDBenchmark — quickly generate, start and analyze benchmarks for your molecular dynamics simulations.

MDBenchmark is a tool to squeeze the maximum out of your limited computing resources. It tries to make it as easy as possible to set up systems on varying numbers of nodes and compare their performances to each other.

You can also create a plot to get a quick overview of the possible performance (and also show of to your friends)! The plot below shows the performance of a molecular dynamics system on up to five nodes with and without GPUs.

https://raw.githubusercontent.com/bio-phys/MDBenchmark/master/docs/_static/runtimes.png

Installation

You can install mdbenchmark via pip, conda or pipenv:

pip

pip install mdbenchmark

conda

conda install -c conda-forge mdbenchmark

pipx

pipx install mdbenchmark

pipenv

pipenv install mdbenchmark

After installation MDBenchmark is accessible on your command-line via mdbenchmark:

$ mdbenchmark
Usage: mdbenchmark [OPTIONS] COMMAND [ARGS]...

Generate, run and analyze benchmarks of molecular dynamics simulations.

Options:
--version  Show the version and exit.
--help     Show this message and exit.

Commands:
analyze   Analyze benchmarks and print the performance...
generate  Generate benchmarks for molecular dynamics...
plot      Generate plots showing the benchmark...
submit    Submit benchmarks to queuing system.

Features

  • Generates benchmarks for GROMACS and NAMD simulations (contributions for other MD engines are welcome!).

  • Automatically detects the queuing system on your high-performance cluster and submits jobs accordingly.

  • Grabs performance from the output logs and creates a fancy plot.

  • Benchmarks systems on CPUs and/or GPUs.

  • Find the best parameters by scanning different numbers of MPI ranks and OpenMP threads.

  • Run multiple instances of the same simulation on a single node using GROMACS’ --multidir option.

Short usage reference

The following shows a short usage reference for MDBenchmark. Please consult the documentation for a complete guide.

Benchmark generation

Assuming you want to benchmark GROMACS version 2018.3 and your TPR file is called protein.tpr, run the following command:

mdbenchmark generate --name protein --module gromacs/2018.3

To run benchmarks on GPUs simply add the --gpu flag:

mdbenchmark generate --name protein --module gromacs/2018.3 --gpu

Benchmark submission

After you generated your benchmarks, you can submit them at once:

mdbenchmark submit

Benchmark analysis

As soon as the benchmarks have been submitted you can run the analysis via mdbenchmark analyze. Systems that have not finished yet will be marked with a question mark (?). You can save the performance results to a CSV file and subsequently create a plot from the data:

# Print performance results to console and save them to a file called results.csv
mdbenchmark analyze --save-csv results.csv

# Create a plot from the results present in the file results.csv
mdbenchmark plot --csv results.csv

Literature

Please cite the latest MDBenchmark publication if you use the tool to benchmark your simulations. This will help raise awareness of benchmarking and help people improve their simulation performance, as well as reduce overall resource wastage.

M. Gecht, M. Siggel, M. Linke, G. Hummer, J. Köfinger MDBenchmark: A toolkit to optimize the performance of molecular dynamics simulations. J. Chem. Phys. 153, 144105 (2020); https://doi.org/10.1063/5.0019045

Contributing

Contributions to the project are welcome! Information on how to contribute to the project can be found in CONTRIBUTING.md and DEVELOPER.rst.

Metadata

Release files for mdbenchmark 3.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mdbenchmark 3.0.1
File Size Uploaded
mdbenchmark-3.0.1.tar.gz 84.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mdbenchmark 3.0.1
File Interpreter ABI Platform
mdbenchmark-3.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 269.4 kB

Release files / mdbenchmark-3.0.1.tar.gz

Download URL mdbenchmark-3.0.1.tar.gz
Size 84.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3b2ebb693737a93155a67a7f25f3f5d20140ba8d87e5bda461e44840d0f1f87d
BLAKE2b-256 checksum
How to use checksums
5986a090aefaef5ffe5321d03643d7b02ace8a98aac06d1e7a789b1809de543b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.2 CPython/3.7.6 Darwin/19.6.0

Release files / mdbenchmark-3.0.1-py3-none-any.whl

Download URL mdbenchmark-3.0.1-py3-none-any.whl
Size 184.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b9ba65a6e7a2082ee5d9aef17ef6264869b9efc33ec996594d7ff0d8943a967a
BLAKE2b-256 checksum
How to use checksums
41d4ceae8bf37b525d2c33a610b5e06774fd27abc3e971cde087572f1ff0e524
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.2 CPython/3.7.6 Darwin/19.6.0

Release history Release notifications | RSS feed

This release

3.0.1 This release

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page