{ "info": { "author": "Max Linke, Michael Gecht", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Scientific/Engineering :: Chemistry", "Topic :: Scientific/Engineering :: Physics", "Topic :: System :: Benchmark" ], "description": "\n============================================\n Benchmark molecular dynamics simulations\n============================================\n\n.. image:: https://img.shields.io/pypi/v/mdbenchmark.svg\n :target: https://pypi.python.org/pypi/mdbenchmark\n\n.. image:: https://anaconda.org/conda-forge/mdbenchmark/badges/version.svg\n :target: https://anaconda.org/conda-forge/mdbenchmark\n\n.. image:: https://img.shields.io/pypi/l/mdbenchmark.svg\n :target: https://pypi.python.org/pypi/mdbenchmark\n\n.. image:: https://travis-ci.org/bio-phys/MDBenchmark.svg?branch=develop\n :target: https://travis-ci.org/bio-phys/MDBenchmark\n\n.. image:: https://readthedocs.org/projects/mdbenchmark/badge/?version=latest&style=flat\n :target: https://mdbenchmark.readthedocs.io/en/latest/\n\n.. image:: https://codecov.io/gh/bio-phys/MDBenchmark/branch/develop/graph/badge.svg\n :target: https://codecov.io/gh/bio-phys/MDBenchmark\n\n.. image:: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square\n :target: http://makeapullrequest.com\n\n.. image:: https://zenodo.org/badge/112506401.svg\n :target: https://zenodo.org/badge/latestdoi/112506401\n\n---------------\n\n**MDBenchmark** \u2014 quickly generate, start and analyze benchmarks for your molecular dynamics simulations.\n\nMDBenchmark is a tool to squeeze the maximum out of your limited computing\nresources. It tries to make it as easy as possible to set up systems on varying\nnumbers of nodes and compare their performances to each other.\n\nYou can also create a plot to get a quick overview of the possible performance\n(and also show of to your friends)! The plot below shows the performance of a\nmolecular dynamics system on up to five nodes with and without GPUs.\n\n.. image:: https://raw.githubusercontent.com/bio-phys/MDBenchmark/master/docs/_static/runtimes.png\n\n\nInstallation\n============\n\nYou can install ``mdbenchmark`` via ``pip``, ``conda`` or ``pipenv``:\n\npip\n---\n\n.. code::\n\n pip install mdbenchmark\n\nconda\n-----\n\n.. code::\n\n conda install -c conda-forge mdbenchmark\n\npipenv\n------\n\n.. code::\n\n pipenv install mdbenchmark\n\nAfter installation MDBenchmark is accessible on your command-line via ``mdbenchmark``::\n\n $ mdbenchmark\n Usage: mdbenchmark [OPTIONS] COMMAND [ARGS]...\n\n Generate, run and analyze benchmarks of molecular dynamics simulations.\n\n Options:\n --version Show the version and exit.\n --help Show this message and exit.\n\n Commands:\n analyze Analyze benchmarks and print the performance...\n generate Generate benchmarks for molecular dynamics...\n plot Generate plots showing the benchmark...\n submit Submit benchmarks to queuing system.\n\nFeatures\n========\n\n- Generates benchmarks for GROMACS and NAMD simulations (contributions for other MD engines are welcome!).\n- Automatically detects the queuing system on your high-performance cluster and submits jobs accordingly.\n- Grabs performance from the output logs and creates a fancy plot.\n- Benchmarks systems on CPUs and/or GPUs.\n\nShort usage reference\n=====================\n\nThe following shows a short usage reference for MDBenchmark. Please consult the\n`documentation`_ for a complete guide.\n\nBenchmark generation\n--------------------\n\nAssuming you want to benchmark GROMACS version 2018.3 and your TPR file is\ncalled ``protein.tpr``, run the following command::\n\n mdbenchmark generate --name protein --module gromacs/2018.3\n\nTo run benchmarks on GPUs simply add the ``--gpu`` flag::\n\n mdbenchmark generate --name protein --module gromacs/2018.3 --gpu\n\nBenchmark submission\n--------------------\n\nAfter you generated your benchmarks, you can submit them at once::\n\n mdbenchmark submit\n\nBenchmark analysis\n------------------\n\nAs soon as the benchmarks have been submitted you can run the analysis via\n``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::\n\n # Print performance results to console and save them to a file called results.csv \n mdbenchmark analyze --save-csv results.csv\n\n # Create a plot from the results present in the file results.csv\n mdbenchmark plot --csv results.csv\n\nContributing\n============\n\nContributions to the project are welcome! Information on how to contribute to\nthe project can be found in `CONTRIBUTING.md`_ and `DEVELOPER.rst`_.\n\n.. _documentation: https://mdbenchmark.readthedocs.io/en/latest/\n.. _CONTRIBUTING.md: https://github.com/bio-phys/MDBenchmark/blob/master/.github/CONTRIBUTING.md\n.. _DEVELOPER.rst: https://github.com/bio-phys/MDBenchmark/blob/master/DEVELOPER.rst\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bio-phys/MDBenchmark", "keywords": "benchmark molecular dynamics simulations gromacs namd", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "mdbenchmark", "package_url": "https://pypi.org/project/mdbenchmark/", "platform": "", "project_url": "https://pypi.org/project/mdbenchmark/", "project_urls": { "Homepage": "https://github.com/bio-phys/MDBenchmark" }, "release_url": "https://pypi.org/project/mdbenchmark/2.0.0/", "requires_dist": [ "numpy (>=1.8)", "datreant (>=1.0.0)", "click (==6.7)", "jinja2", "pandas", "matplotlib (<3.0,>=2.2.3)", "python-Levenshtein", "xdg (<2)", "tabulate (==0.8.2)" ], "requires_python": "", "summary": "Benchmark molecular dynamics simulations", "version": "2.0.0" }, "last_serial": 4430737, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "e7c66cea192c5904efc2171406efea3d", "sha256": "e4a5c5b4b7db0370120a2005a2d72bd2cc19294629facac94ff530f0502fc40b" }, "downloads": -1, "filename": "mdbenchmark-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e7c66cea192c5904efc2171406efea3d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19188, "upload_time": "2017-12-03T17:06:19", "url": "https://files.pythonhosted.org/packages/8a/c4/3559a8c99131a5825685beeedff187bb9abc79c39acf96ca18e94d815199/mdbenchmark-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "33a33fca430162dc30f5467f853f0e95", "sha256": "b0d60460355294b3ac1178c174b393af1f7aa6fccc4c6a8c4af0287a154599d7" }, "downloads": -1, "filename": "mdbenchmark-1.0.0.tar.gz", "has_sig": false, "md5_digest": "33a33fca430162dc30f5467f853f0e95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11351, "upload_time": "2017-12-03T16:57:40", "url": "https://files.pythonhosted.org/packages/2a/40/a380dc96e33ec69d6b12a77f5d2a7b768dace09fa893eea3f970ba675344/mdbenchmark-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "3276fe67ec09c7f35b296a124545c8eb", "sha256": "aa76c7801171a0fd8869b5be2056a0fabffe98bbed6a37410561237970d955ac" }, "downloads": -1, "filename": "mdbenchmark-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3276fe67ec09c7f35b296a124545c8eb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19190, "upload_time": "2017-12-03T17:27:51", "url": "https://files.pythonhosted.org/packages/5c/9f/b24876983251db59e854bba040dde5438b3083906b965ab1f580534c091e/mdbenchmark-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "66e10fb37ce3b555348ec43df8349a79", "sha256": "4b6c64fbf6826fc0b6ecc7f5d55c5a828cf26cf700c5d51d3942a7b7d2f199af" }, "downloads": -1, "filename": "mdbenchmark-1.0.1.tar.gz", "has_sig": false, "md5_digest": "66e10fb37ce3b555348ec43df8349a79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35939, "upload_time": "2017-12-03T17:27:52", "url": "https://files.pythonhosted.org/packages/78/48/a937f98894e7debf8ed5adc4dd5ef781639f3a2ec7f68ba690f2d27b4a5a/mdbenchmark-1.0.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "f35c49d7b0b3367007fbce5a27af4349", "sha256": "19b50a186ed63f37f03a1b926b8e4ce3acf14dd53a297946660d172020cb6b3e" }, "downloads": -1, "filename": "mdbenchmark-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f35c49d7b0b3367007fbce5a27af4349", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25856, "upload_time": "2018-01-20T14:32:28", "url": "https://files.pythonhosted.org/packages/09/3f/f9709f7b5a67434f890e92f6574c53270537e7faf91f6d21c03beb868b22/mdbenchmark-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04f89134489aab05029a895a2b4037d4", "sha256": "7658bbf7a44496a7d376580047deccf0017bd162e2a6e2e028dc28bc2af08cc1" }, "downloads": -1, "filename": "mdbenchmark-1.1.1.tar.gz", "has_sig": false, "md5_digest": "04f89134489aab05029a895a2b4037d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38744, "upload_time": "2018-01-20T14:32:34", "url": "https://files.pythonhosted.org/packages/a0/6c/27275443cb37948c55e4210c70eb05e15ba64cc09b4eaa3ead129436a8ed/mdbenchmark-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "66fbf7c92d45950d27a50f3cb63c6fdb", "sha256": "a4ac4d66e1e57fdfae3308d3bde7b56196f210afff26ba96a04e6c5c800e0adc" }, "downloads": -1, "filename": "mdbenchmark-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "66fbf7c92d45950d27a50f3cb63c6fdb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32489, "upload_time": "2018-02-20T09:08:03", "url": "https://files.pythonhosted.org/packages/9d/09/57edb92f86af67b5ae4fc8d4866027d2f519f3d13c0fe691bb0a9b15a2f6/mdbenchmark-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac1c3a90332039959aed6fbe43f6fb0c", "sha256": "0f0579d68a30ce9681d4325d641f45cc3f983a80d4485fd60c4e773224449909" }, "downloads": -1, "filename": "mdbenchmark-1.2.0.tar.gz", "has_sig": false, "md5_digest": "ac1c3a90332039959aed6fbe43f6fb0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44658, "upload_time": "2018-02-20T09:08:05", "url": "https://files.pythonhosted.org/packages/63/94/e164617163ac9be75996a42e5daadbca104e52979a2ff9bd8829aba168d7/mdbenchmark-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "f7a8d121ad56e7e805e6d0f8af5ba365", "sha256": "225d5fd5bdd24ba2c0a065cb4cfa837560c71aa2973682fc9345b4c18ad1eb4d" }, "downloads": -1, "filename": "mdbenchmark-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f7a8d121ad56e7e805e6d0f8af5ba365", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 44848, "upload_time": "2018-04-08T13:32:41", "url": "https://files.pythonhosted.org/packages/73/50/c5edd43691c023942d54b33f533d237d8637742e9da523a4806155fa4d02/mdbenchmark-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e3bbcbb58f730ed8a02a068325147843", "sha256": "af04d17a0f49e1e9c28d34fc9a65f8e9cf1355d4bddbd9422acefbe91e6431d9" }, "downloads": -1, "filename": "mdbenchmark-1.3.0.tar.gz", "has_sig": false, "md5_digest": "e3bbcbb58f730ed8a02a068325147843", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52876, "upload_time": "2018-04-08T13:32:58", "url": "https://files.pythonhosted.org/packages/3b/f8/16f50f62943a920305c24374e7b9cc4bc6a0514dc6beef4c10b347b42bac/mdbenchmark-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "eec440b70602db5dc4a7f0c15dda68fc", "sha256": "5eaabf2ce1ba28a097617f17710f41c4d4e3a8c68dbb97004927b50e80940b49" }, "downloads": -1, "filename": "mdbenchmark-1.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eec440b70602db5dc4a7f0c15dda68fc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 41519, "upload_time": "2018-05-17T07:51:52", "url": "https://files.pythonhosted.org/packages/33/9f/334bedcdf5cd55b55b4dd91d3ff0fcfdb03aee782578bb21136e21749919/mdbenchmark-1.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1381f2cec2ec3cf8e414c8e4f5853f6b", "sha256": "d485432a4800f5effd2f92d6b3208ea2338ab6ec0399ec69344261df00003202" }, "downloads": -1, "filename": "mdbenchmark-1.3.1.tar.gz", "has_sig": false, "md5_digest": "1381f2cec2ec3cf8e414c8e4f5853f6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53768, "upload_time": "2018-05-17T07:51:53", "url": "https://files.pythonhosted.org/packages/7c/e0/645aa7bb40130ddaddcc1f23c58840c05d2c4de1598787090de6bdd95056/mdbenchmark-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "b3ef8d36bdbae5977b8891931815b300", "sha256": "b97a1ab197fec8b490d322261e7f66621c1ec120f59f01c6221601b7b7751c73" }, "downloads": -1, "filename": "mdbenchmark-1.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b3ef8d36bdbae5977b8891931815b300", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 41866, "upload_time": "2018-07-20T13:16:14", "url": "https://files.pythonhosted.org/packages/c9/f6/cdb493654fc81f8f41a8ad1e10c9d9fb8cfaf35db5f3e58e0594e6f08c4a/mdbenchmark-1.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0efbac8c496610b69c1af524929cee2a", "sha256": "8fc1926bc8b9450154b6d8323001b090a51dbeff49adde24603479e1229e5226" }, "downloads": -1, "filename": "mdbenchmark-1.3.2.tar.gz", "has_sig": false, "md5_digest": "0efbac8c496610b69c1af524929cee2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54179, "upload_time": "2018-07-20T13:16:15", "url": "https://files.pythonhosted.org/packages/6e/c0/dee1ecdc6d7f4ffeb5391e077168bfff611f031f26fe05f7d0714b189cf6/mdbenchmark-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "d78381f370d3ecc60367cc648afa3e6e", "sha256": "0ebc3880515b3a7db11fd603f8ec97b4cf47bf49872ad8cad12899f9ee10a03a" }, "downloads": -1, "filename": "mdbenchmark-1.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d78381f370d3ecc60367cc648afa3e6e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 41899, "upload_time": "2018-09-25T06:53:19", "url": "https://files.pythonhosted.org/packages/5b/ea/a0dd020efee963cd81c9ef403aac12817f5a1e7c987f992cb0083430bb11/mdbenchmark-1.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e5cb6470c9f76a54ef0dd8a3a6d682b", "sha256": "0cdbd36e0deacae86df212ed7122abc770d356458c17509b9252e0722a741d1f" }, "downloads": -1, "filename": "mdbenchmark-1.3.3.tar.gz", "has_sig": false, "md5_digest": "3e5cb6470c9f76a54ef0dd8a3a6d682b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55815, "upload_time": "2018-09-25T06:53:20", "url": "https://files.pythonhosted.org/packages/0e/23/96f01b979e88ceed39321d1f91f70e19e6ad98efffe83e00bd762c2cc137/mdbenchmark-1.3.3.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "f9a53de896d97b05607c6385cec9185d", "sha256": "1c8c2a9e23525d7db9a1a100e24d8ed0470ef4456fb1d0b3916f500d8848095f" }, "downloads": -1, "filename": "mdbenchmark-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f9a53de896d97b05607c6385cec9185d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 65590, "upload_time": "2018-10-30T09:11:02", "url": "https://files.pythonhosted.org/packages/c1/c7/f528a09396a07ad14195525187147f381330dc4b62e35045f2b4f593ca79/mdbenchmark-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9fa2c43993f1b4b3aa81a4c609184eea", "sha256": "0749478d52d7651b7c9b05c4494431125e247531adfd38181b815e347e155558" }, "downloads": -1, "filename": "mdbenchmark-2.0.0.tar.gz", "has_sig": false, "md5_digest": "9fa2c43993f1b4b3aa81a4c609184eea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61604, "upload_time": "2018-10-30T09:11:04", "url": "https://files.pythonhosted.org/packages/b3/bf/d375ad18948f9b23ad39379804e9c5802c3653900db802ec8a6281247da2/mdbenchmark-2.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f9a53de896d97b05607c6385cec9185d", "sha256": "1c8c2a9e23525d7db9a1a100e24d8ed0470ef4456fb1d0b3916f500d8848095f" }, "downloads": -1, "filename": "mdbenchmark-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f9a53de896d97b05607c6385cec9185d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 65590, "upload_time": "2018-10-30T09:11:02", "url": "https://files.pythonhosted.org/packages/c1/c7/f528a09396a07ad14195525187147f381330dc4b62e35045f2b4f593ca79/mdbenchmark-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9fa2c43993f1b4b3aa81a4c609184eea", "sha256": "0749478d52d7651b7c9b05c4494431125e247531adfd38181b815e347e155558" }, "downloads": -1, "filename": "mdbenchmark-2.0.0.tar.gz", "has_sig": false, "md5_digest": "9fa2c43993f1b4b3aa81a4c609184eea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61604, "upload_time": "2018-10-30T09:11:04", "url": "https://files.pythonhosted.org/packages/b3/bf/d375ad18948f9b23ad39379804e9c5802c3653900db802ec8a6281247da2/mdbenchmark-2.0.0.tar.gz" } ] }