Skip to main content

Benchmark molecular dynamics simulations

Project description

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

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.

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

Contributing

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

Project details


Download files

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

Source Distribution

mdbenchmark-2.0.0.tar.gz (61.6 kB view details)

Uploaded Source

Built Distribution

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

mdbenchmark-2.0.0-py2.py3-none-any.whl (65.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file mdbenchmark-2.0.0.tar.gz.

File metadata

  • Download URL: mdbenchmark-2.0.0.tar.gz
  • Upload date:
  • Size: 61.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.1

File hashes

Hashes for mdbenchmark-2.0.0.tar.gz
Algorithm Hash digest
SHA256 0749478d52d7651b7c9b05c4494431125e247531adfd38181b815e347e155558
MD5 9fa2c43993f1b4b3aa81a4c609184eea
BLAKE2b-256 b3bfd375ad18948f9b23ad39379804e9c5802c3653900db802ec8a6281247da2

See more details on using hashes here.

File details

Details for the file mdbenchmark-2.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: mdbenchmark-2.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 65.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.1

File hashes

Hashes for mdbenchmark-2.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1c8c2a9e23525d7db9a1a100e24d8ed0470ef4456fb1d0b3916f500d8848095f
MD5 f9a53de896d97b05607c6385cec9185d
BLAKE2b-256 c1c7f528a09396a07ad14195525187147f381330dc4b62e35045f2b4f593ca79

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