https://github.com/bio-phys/mdbenchmark
Quickly generate, start and analyze benchmarks for molecular dynamics simulations.
Science Score: 33.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
3 of 8 committers (37.5%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.7%) to scientific vocabulary
Keywords
Repository
Quickly generate, start and analyze benchmarks for molecular dynamics simulations.
Basic Info
- Host: GitHub
- Owner: bio-phys
- License: other
- Language: Python
- Default Branch: develop
- Homepage: https://mdbenchmark.org
- Size: 1.29 MB
Statistics
- Stars: 80
- Watchers: 4
- Forks: 17
- Open Issues: 15
- Releases: 13
Topics
Metadata Files
README.rst
========================================
Benchmark molecular dynamics simulations
========================================
.. image:: https://img.shields.io/pypi/v/mdbenchmark.svg
:target: https://pypi.python.org/pypi/mdbenchmark
.. image:: https://anaconda.org/conda-forge/mdbenchmark/badges/version.svg
:target: https://anaconda.org/conda-forge/mdbenchmark
.. image:: https://img.shields.io/pypi/l/mdbenchmark.svg
:target: https://pypi.python.org/pypi/mdbenchmark
.. image:: https://github.com/bio-phys/MDBenchmark/actions/workflows/tests.yml/badge.svg?branch=develop
:target: https://github.com/bio-phys/MDBenchmark/actions/workflows/tests.yml
.. image:: https://readthedocs.org/projects/mdbenchmark/badge/?version=latest&style=flat
:target: https://mdbenchmark.readthedocs.io/en/latest/
.. image:: https://codecov.io/gh/bio-phys/MDBenchmark/branch/develop/graph/badge.svg
:target: https://codecov.io/gh/bio-phys/MDBenchmark
.. image:: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square
:target: http://makeapullrequest.com
.. image:: https://zenodo.org/badge/112506401.svg
:target: https://zenodo.org/badge/latestdoi/112506401
---------------
**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.
.. image:: https://raw.githubusercontent.com/bio-phys/MDBenchmark/master/docs/_static/runtimes.png
Installation
============
You can install ``mdbenchmark`` via ``pip``, ``conda`` or ``pipenv``:
pip
---
.. code::
pip install mdbenchmark
conda
-----
.. code::
conda install -c conda-forge mdbenchmark
pipx
----
.. code::
pipx install mdbenchmark
pipenv
------
.. code::
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`_.
.. _documentation: https://mdbenchmark.readthedocs.io/en/latest/
.. _CONTRIBUTING.md: https://github.com/bio-phys/MDBenchmark/blob/master/.github/CONTRIBUTING.md
.. _DEVELOPER.rst: https://github.com/bio-phys/MDBenchmark/blob/master/DEVELOPER.rst
Owner
- Name: bio-phys
- Login: bio-phys
- Kind: organization
- Repositories: 14
- Profile: https://github.com/bio-phys
GitHub Events
Total
- Watch event: 7
Last Year
- Watch event: 7
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Michael Gecht | g****m@g****m | 331 |
| Max Linke | m****e@g****e | 87 |
| Michael Gecht | m****t@b****e | 32 |
| ksebaz | 5****z@u****m | 22 |
| Marc Siggel | m****l@b****e | 15 |
| sebastian | s****l@g****e | 9 |
| Max Linke | k****e@u****m | 5 |
| Max Linke | m****e@b****e | 4 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 35
- Total pull requests: 68
- Average time to close issues: 7 months
- Average time to close pull requests: 16 days
- Total issue authors: 11
- Total pull request authors: 4
- Average comments per issue: 2.14
- Average comments per pull request: 1.19
- Merged pull requests: 54
- Bot issues: 0
- Bot pull requests: 7
Past Year
- Issues: 1
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: 37 minutes
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- mimischi (15)
- MSiggel (4)
- jkoefinger (3)
- balazsfabian (3)
- kain88-de (3)
- hejung (2)
- pszi1ard (1)
- tvery-idris (1)
- richardjgowers (1)
- almeida85 (1)
- sli259 (1)
Pull Request Authors
- mimischi (41)
- ksebaz (16)
- dependabot[bot] (7)
- MSiggel (5)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 48 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 1
(may contain duplicates) - Total versions: 23
- Total maintainers: 3
pypi.org: mdbenchmark
Quickly generate, start and analyze benchmarks for your molecular dynamics simulations.
- Homepage: https://mdbenchmark.org
- Documentation: https://docs.mdbenchmark.org
- License: GPL-3.0
-
Latest release: 3.0.1
published over 5 years ago
Rankings
conda-forge.org: mdbenchmark
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 show of to your friends)!
- Homepage: https://github.com/bio-phys/MDBenchmark
- License: GPL-3.0-only
-
Latest release: 3.0.1
published over 3 years ago
Rankings
Dependencies
- click ==7.0
- datreant ==1.0.2
- jinja2 ==2.11.1
- matplotlib ==3.1.3
- numpy ==1.18.1
- pandas ==1.0.1
- python-Levenshtein ==0.12.0
- sphinx-click ==2.3.1
- tabulate ==0.8.6
- xdg ==1.0.7
- apipkg 1.5 develop
- appdirs 1.4.4 develop
- appnope 0.1.0 develop
- astroid 2.4.2 develop
- atomicwrites 1.4.0 develop
- attrs 19.3.0 develop
- backcall 0.2.0 develop
- black 19.10b0 develop
- coverage 5.1 develop
- decorator 4.4.2 develop
- execnet 1.7.1 develop
- flake8 3.8.3 develop
- importlib-metadata 1.6.1 develop
- incremental 17.5.0 develop
- ipython 7.15.0 develop
- ipython-genutils 0.2.0 develop
- isort 4.3.21 develop
- jedi 0.17.1 develop
- lazy-object-proxy 1.4.3 develop
- mccabe 0.6.1 develop
- more-itertools 8.4.0 develop
- parso 0.7.0 develop
- pathspec 0.8.0 develop
- pep8 1.7.1 develop
- pexpect 4.8.0 develop
- pickleshare 0.7.5 develop
- pluggy 0.13.1 develop
- prompt-toolkit 3.0.3 develop
- ptyprocess 0.6.0 develop
- py 1.8.2 develop
- pycodestyle 2.6.0 develop
- pyflakes 2.2.0 develop
- pylint 2.5.3 develop
- pytest 5.4.3 develop
- pytest-cache 1.0 develop
- pytest-cov 2.10.0 develop
- pytest-pep8 1.0.6 develop
- pytest-sugar 0.9.3 develop
- regex 2020.6.8 develop
- restructuredtext-lint 1.3.1 develop
- termcolor 1.1.0 develop
- toml 0.10.1 develop
- towncrier 19.2.0 develop
- traitlets 4.3.3 develop
- typed-ast 1.4.1 develop
- wcwidth 0.2.4 develop
- wrapt 1.12.1 develop
- zipp 3.1.0 develop
- alabaster 0.7.12
- argh 0.26.2
- asciitree 0.3.3
- babel 2.8.0
- certifi 2020.4.5.2
- chardet 3.0.4
- click 7.1.2
- colorama 0.4.3
- cycler 0.10.0
- datreant 1.0.2
- docutils 0.16
- fuzzywuzzy 0.18.0
- idna 2.9
- imagesize 1.2.0
- jinja2 2.11.2
- kiwisolver 1.2.0
- livereload 2.6.2
- markupsafe 1.1.1
- matplotlib 3.2.2
- numpy 1.18.5
- packaging 20.4
- pandas 0.25.3
- pathlib2 2.3.5
- pathtools 0.1.2
- pbr 5.4.5
- port-for 0.3.1
- psutil 5.7.0
- pygments 2.6.1
- pyparsing 2.4.7
- python-dateutil 2.8.1
- python-levenshtein 0.12.0
- pytz 2020.1
- pyyaml 5.3.1
- requests 2.24.0
- scandir 1.10.0
- six 1.15.0
- snowballstemmer 2.0.0
- sphinx 1.8.5
- sphinx-autobuild 0.7.1
- sphinx-click 2.3.2
- sphinxcontrib-websupport 1.2.2
- tabulate 0.8.7
- tornado 6.0.4
- urllib3 1.25.9
- watchdog 0.10.2
- xdg 1.0.7
- black ^19.10b0 develop
- flake8 ^3.8 develop
- ipython >=5 develop
- isort ^4.3 develop
- pylint >=1 develop
- pytest >=4 develop
- pytest-cache ^1.0 develop
- pytest-cov ^2.8 develop
- pytest-pep8 ^1.0 develop
- pytest-sugar ^0.9.2 develop
- restructuredtext_lint ^1.3 develop
- towncrier ^19.2 develop
- Sphinx ^1
- click >=6.7
- datreant ^1.0
- jinja2 ^2.10
- matplotlib >=2
- numpy >=1.15
- pandas >=0.24
- psutil ^5.7.0
- python ^3.6
- python-levenshtein ^0.12.0
- sphinx-autobuild ^0.7.1
- sphinx-click ^2.3
- tabulate ^0.8.5
- xdg ^1
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- codecov/codecov-action v3 composite