{ "info": { "author": "Uwe Schmitt", "author_email": "uwe.schmitt@id.ethz.ch", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering" ], "description": "# About\n\n`mpipool` offers a `Pool` class similar `multiprocessing.Pool`\nfrom the standard library.\n\n`mpipool` uses `MPIPool` implementation of\n[schwimmbad](https://schwimmbad.readthedocs.io/en/latest/) library\nand circumvents some of its limitations:\n\n- A series of `mpipool.Pool.map` calls do not crash,\n- In case a worker raises an exception, the MPI\n tasks are shut down properly so that the full program halts and does\n not hang.\n\n# Example usage\n\n```\nfrom mpipool import Pool\n\ndef add(a, b):\n return a + b\n\np = Pool()\n\nsums = p.map(add, [(ai, bi) for ai in range(10) for bi in range(10)])\n\nassert len(sums) == 100\nassert sums[0] == 0\nassert sums[-1] == 18\n\nsums = p.map(add, [(ai, bi) for ai in range(10) for bi in range(10)])\n\nassert len(sums) == 100\nassert sums[0] == 0\nassert sums[-1] == 18\n```\n\nThe program must be run on the commandline like:\n\n```\n$ mpirun -n 4 python example.py\n```\n\nCurrently `mpipool.Pool` only implements a `map` method.\n\nContrary to the `MPIPool` implementation of\n[schwimmbad](https://schwimmbad.readthedocs.io/en/latest/)\nthe statements after `from mpipool import Pool` are only executed\nby the task with rank `0`.\n\n\n# Credits\n\n`mpipool` uses of the `MPIPool` implementation of\n[schwimmbad](https://schwimmbad.readthedocs.io/en/latest/) library.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/uweschmitt/mpipool", "keywords": "mpipool", "license": "Proprietary", "maintainer": "", "maintainer_email": "", "name": "mpipool", "package_url": "https://pypi.org/project/mpipool/", "platform": "", "project_url": "https://pypi.org/project/mpipool/", "project_urls": { "Homepage": "https://gitlab.com/uweschmitt/mpipool" }, "release_url": "https://pypi.org/project/mpipool/0.2.1/", "requires_dist": null, "requires_python": "", "summary": "MPI Pool similar to multiprocessing", "version": "0.2.1" }, "last_serial": 5298397, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "585a4ee29007733a869da5dec5376d04", "sha256": "0e3ad76b2b7c49366c508cf884515de287871a1a907860b11aedf0d8c355086b" }, "downloads": -1, "filename": "mpipool-0.1.0.tar.gz", "has_sig": false, "md5_digest": "585a4ee29007733a869da5dec5376d04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3849, "upload_time": "2019-05-11T21:04:09", "url": "https://files.pythonhosted.org/packages/3e/eb/8fce57e2408530192b3be362c33ea347177b949857daa949f2a7cf5edd97/mpipool-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7f1c586bca0f2dd894c3a85bfcbae089", "sha256": "a6c753f3ad2a547af4f3063b0152c24ac7f85d72e75e9dc8ddcb4857342e74fc" }, "downloads": -1, "filename": "mpipool-0.1.1.tar.gz", "has_sig": false, "md5_digest": "7f1c586bca0f2dd894c3a85bfcbae089", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4692, "upload_time": "2019-05-16T09:11:08", "url": "https://files.pythonhosted.org/packages/dd/49/9fc3aa34316ad3dcb85ac518982f7dd21b971dbfcae32fd5bda38536dd45/mpipool-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "ec6d21d2c6536f0e1c11ad4295adde50", "sha256": "56e701e2e626e20b3c312316d60ac6072bc6067548e06ae7b0564d4d3be5378f" }, "downloads": -1, "filename": "mpipool-0.2.0.tar.gz", "has_sig": false, "md5_digest": "ec6d21d2c6536f0e1c11ad4295adde50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4783, "upload_time": "2019-05-16T11:12:23", "url": "https://files.pythonhosted.org/packages/cb/3e/dc61d6eee641254f6f69c993e4b60be51114d45ae86d4232d62215acd7d6/mpipool-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "7304ec39b5a542b70f79456c81872785", "sha256": "1783f4f1fed76153c46990583ac5da16f9f9b33d2977b382884ec377061633f2" }, "downloads": -1, "filename": "mpipool-0.2.1.tar.gz", "has_sig": false, "md5_digest": "7304ec39b5a542b70f79456c81872785", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4864, "upload_time": "2019-05-21T15:16:04", "url": "https://files.pythonhosted.org/packages/f6/cf/7fbb358b980a98df2ed5794579414d7a6e636593749ac4654915bcc64b34/mpipool-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7304ec39b5a542b70f79456c81872785", "sha256": "1783f4f1fed76153c46990583ac5da16f9f9b33d2977b382884ec377061633f2" }, "downloads": -1, "filename": "mpipool-0.2.1.tar.gz", "has_sig": false, "md5_digest": "7304ec39b5a542b70f79456c81872785", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4864, "upload_time": "2019-05-21T15:16:04", "url": "https://files.pythonhosted.org/packages/f6/cf/7fbb358b980a98df2ed5794579414d7a6e636593749ac4654915bcc64b34/mpipool-0.2.1.tar.gz" } ] }