{ "info": { "author": "Maurizio Tomasi", "author_email": "ziotom78@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development", "Topic :: System :: Distributed Computing" ], "description": "Mpijobs\n=======\n\nA Python3 library for running many jobs on multiple processes, using\nMPI.\n\nExample\n-------\n\nThe following example runs 3 jobs. For each of them, a message is\nprinted on the screen.\n\n.. code-block:: python\n\n from mpi4py import MPI\n from time import sleep\n\n import mpijobs\n\n class MyJob(mpijobs.Job):\n def __init__(self,\n params):\n super().__init__()\n self.params = params\n self.result_str = None\n\n def run(self, rank):\n print(\"Hi, I am {0} (process {1})\".format(self.params, rank))\n\n # Pretend you're doing something useful\n sleep(1.0)\n\n # Perform a simple computation and save the result\n self.result_str = self.params.upper()\n\n JOB_LIST = [MyJob(name) for name in ('Bob', 'Alice', 'Stephen')]\n RESULTS = mpijobs.run_event_loop(MPI.COMM_WORLD, JOB_LIST)\n\n if MPI.COMM_WORLD.rank == 0: # Only one process should print the results\n print(\"strings computed by the processes = [{0}]\"\n .format(', '.join([x.result_str for x in RESULTS])))\n print(\"elapsed_time = [{0}]\"\n .format(', '.join([str(x.running_time) for x in RESULTS])))\n\n\nThe program must be run using ``mpirun`` (or an equivalent program,\ndepending on your MPI library)::\n\n mpirun -n 3 python3 example.py\n\nThe output is the following (actual ranks and times might vary)::\n\n Hi, I am Stephen (process 2)\n Hi, I am Alice (process 1)\n Hi, I am Bob (process 1)\n strings computed by the processes = [ALICE, STEPHEN, BOB]\n elapsed_time = [0:00:01.001056, 0:00:01.001088, 0:00:01.001041]\n\nCopyright\n---------\n\nSee the COPYRIGHT.md file.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ziotom78/mpijobs", "keywords": "mpi master/slave", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "mpijobs", "package_url": "https://pypi.org/project/mpijobs/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/mpijobs/", "project_urls": { "Homepage": "https://github.com/ziotom78/mpijobs" }, "release_url": "https://pypi.org/project/mpijobs/0.2.2/", "requires_dist": [ "mpi4py" ], "requires_python": "", "summary": "Run many jobs using MPI processes through a master/slave approach", "version": "0.2.2" }, "last_serial": 1921614, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "55bd048ee050022e4b5939d4da015da5", "sha256": "f6eac1cd2a72fa48ac3400ab8507180f2df74ed7496d6a41c724aa3751f80900" }, "downloads": -1, "filename": "mpijobs-0.1.tar.gz", "has_sig": false, "md5_digest": "55bd048ee050022e4b5939d4da015da5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3050, "upload_time": "2016-01-19T14:42:19", "url": "https://files.pythonhosted.org/packages/ce/d9/16f392edcae154f35df56c02428f840f85c5f2f62de45d371cbc9b24a842/mpijobs-0.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "7a604553123fd092a6d68c6ad2fa220b", "sha256": "5806dd063df176878cd13fe36a43887a93b4fc57bc4c8e3cdf88e21c424a3f2b" }, "downloads": -1, "filename": "mpijobs-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7a604553123fd092a6d68c6ad2fa220b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6750, "upload_time": "2016-01-21T09:13:21", "url": "https://files.pythonhosted.org/packages/47/ea/4c9496a2f149e4627cc78e764c2e194a040559880cdef143a9ae5c0a630b/mpijobs-0.2.0-py3-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "75b7207f45a81bb0c4416eb0a77cff9f", "sha256": "fe9fdfb21076e8bcfbba98258cfc9ccbd90a159a2794253835d68a0712ed6248" }, "downloads": -1, "filename": "mpijobs-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "75b7207f45a81bb0c4416eb0a77cff9f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6747, "upload_time": "2016-01-22T08:54:57", "url": "https://files.pythonhosted.org/packages/19/61/2b2c9d6a16811cc997c414e2eea6f84a052daa2aa06f2ccec6c7ef0e845b/mpijobs-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6756c8808dc6d6da5f6f4f1510c88b60", "sha256": "640869d2609e9cca522a3ef3992e4266d42cff8cd3310cf3d8dd7ecaf70105c2" }, "downloads": -1, "filename": "mpijobs-0.2.1.tar.gz", "has_sig": false, "md5_digest": "6756c8808dc6d6da5f6f4f1510c88b60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5580, "upload_time": "2016-01-22T08:55:04", "url": "https://files.pythonhosted.org/packages/22/5f/d0e8ef3a2915ff58c126199316d537db90dc42ec2a7d0bf14159a4e5cd00/mpijobs-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "61d0b2de1d5e73f86bd051405be9cd34", "sha256": "e33d5f56c51297d185eb07bfaad473e44278a4bc4fc9d0fdf4240a5b69c59ada" }, "downloads": -1, "filename": "mpijobs-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "61d0b2de1d5e73f86bd051405be9cd34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6795, "upload_time": "2016-01-25T11:25:59", "url": "https://files.pythonhosted.org/packages/ec/a9/f3dd8a990063a6ed70329688f4af78017c66cb6d3dc72e960ba8052e2e90/mpijobs-0.2.2-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "61d0b2de1d5e73f86bd051405be9cd34", "sha256": "e33d5f56c51297d185eb07bfaad473e44278a4bc4fc9d0fdf4240a5b69c59ada" }, "downloads": -1, "filename": "mpijobs-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "61d0b2de1d5e73f86bd051405be9cd34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6795, "upload_time": "2016-01-25T11:25:59", "url": "https://files.pythonhosted.org/packages/ec/a9/f3dd8a990063a6ed70329688f4af78017c66cb6d3dc72e960ba8052e2e90/mpijobs-0.2.2-py3-none-any.whl" } ] }