From nobody Tue Jun 21 16:36:57 2022 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 5016F87882B; Tue, 21 Jun 2022 16:36:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4LSBxP39yRz3Fsf; Tue, 21 Jun 2022 16:36:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1655829418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D72BQMZVVF4l+Wai9spunQXriGwbfCKpUVS19iBLkAk=; b=eWlWYxSgNuAZTWEqTK0OCGPeBc3FOraDAguMs0v5s0F8cSiy4hZNF/jxiv+WlpbndOs0+s 5JsGpvDnJ6jdKJVEAAzqU4SoaNhCqzlvqGD3jPekYh73FMDWl5WH+zOyNs72LVnoR6rKLC W4KwG1CaQUDZu2K87xrOu3/3MRL3+vQLHV1q4vMa4zjP4Xz2xHykru+wQz2FUQJMXY3D61 wLO9veKddQdz+lXfLY7Y7EM7iIyv3OUVxni+BMr3BdHVqB2tfUFy5xHtzQJ11tRdvlx7d0 FWT4ODgXt8xDf0PEmMB87Bj/Jz1rB/EDDLrwWsJ4nSxNdxfJAb3/aImdNa7vCw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4891015259; Tue, 21 Jun 2022 16:36:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 25LGavxm058798; Tue, 21 Jun 2022 16:36:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 25LGavXu058797; Tue, 21 Jun 2022 16:36:57 GMT (envelope-from git) Date: Tue, 21 Jun 2022 16:36:57 GMT Message-Id: <202206211636.25LGavXu058797@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Po-Chuan Hsieh Subject: git: 064d0418c84e - main - devel/py-pyina: Add py-pyina 0.2.5 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sunpoet X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 064d0418c84e738b03505130a442bc75c0a8bcc4 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1655829418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D72BQMZVVF4l+Wai9spunQXriGwbfCKpUVS19iBLkAk=; b=RrL0WYUOh6AmFmCYYlQkN5GmLAZFyZvurNvoqe7zSHAiToIJhFrv85wGzCio/EaouK8rpx ohnDnPXXsfB7flH8HxorBpgSzvkD2UxIQ8k222/nOisrt9keNIBfvZA88Oh6gN/BQOt/ji ZNfP26wjjNd8dyOQB2zTC/h+Oyq5r7tWbedpApPG6D2D8q0O3Qlr/u1spxKHhcIuptS3DL lZyT6F592pBT/EMhbO30OneolVcZdcqVDqU+SzmkpFHatQqGjS1iPLBuCjjyjBcNJY6Z3C vhj+YFOzB1sHB1DBAOa82P4cOKg+aVeRObxZ/2Edn+hQYmELKuldVXXpzjRYiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1655829418; a=rsa-sha256; cv=none; b=VFikSP0zDd7YDCEA9tahYLABsOfyEUlAM0dzb2J3AZtbTV5ynGnesiWd1UKZ2nsk6Ly1oJ 51l1m67EOV4C10zLqFYReKkMRLE3v7ouhG33dPtoRcSHssneAibWUc3QqpUISt8e9TrqcE ZKaHFM7qg8OIbjufXYKmkrJqSdWA/VllRIwNw18YChFavzPmV+pbESdwl5h0QtlDhEx77B vVqKJF+v7b7IboUtWpnrxFQ4cjoZR8sVp5e4Z/mMiDFyrgYC3LYV+1uw4vLmm2VHRpj+hB K6c1p3pgdb5w4RMrBEATka8oZoDMDfxUmQNEsj9Kf44Gnvd0vbMzc6QBsNOvKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=064d0418c84e738b03505130a442bc75c0a8bcc4 commit 064d0418c84e738b03505130a442bc75c0a8bcc4 Author: Po-Chuan Hsieh AuthorDate: 2022-06-21 16:32:25 +0000 Commit: Po-Chuan Hsieh CommitDate: 2022-06-21 16:32:25 +0000 devel/py-pyina: Add py-pyina 0.2.5 The pyina package provides several basic tools to make MPI-based parallel computing more accessable to the end user. The goal of pyina is to allow the user to extend their own code to MPI-based parallel computing with minimal refactoring. WWW: https://github.com/uqfoundation/pyina --- devel/Makefile | 1 + devel/py-pyina/1l | 35 +++++ devel/py-pyina/1q | 5 + devel/py-pyina/1s | 397 +++++++++++++++++++++++++++++++++++++++++++++++ devel/py-pyina/1t | 4 + devel/py-pyina/Makefile | 26 ++++ devel/py-pyina/distinfo | 3 + devel/py-pyina/pkg-descr | 6 + 8 files changed, 477 insertions(+) diff --git a/devel/Makefile b/devel/Makefile index f6a18e0fbf04..f8b223c58fa3 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -5082,6 +5082,7 @@ SUBDIR += py-pyhashxx SUBDIR += py-pyhcl SUBDIR += py-pyicu + SUBDIR += py-pyina SUBDIR += py-pyinotify SUBDIR += py-pyinquirer SUBDIR += py-pyinstaller diff --git a/devel/py-pyina/1l b/devel/py-pyina/1l new file mode 100644 index 000000000000..5a80dd78c125 --- /dev/null +++ b/devel/py-pyina/1l @@ -0,0 +1,35 @@ +Copyright (c) 2004-2016 California Institute of Technology. +Copyright (c) 2016-2021 The Uncertainty Quantification Foundation. +All rights reserved. + +This software is available subject to the conditions and terms laid +out below. By downloading and using this software you are agreeing +to the following conditions. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met:: + + - Redistribution of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistribution in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentations and/or other materials provided with the distribution. + + - Neither the names of the copyright holders nor the names of any of + the contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/devel/py-pyina/1q b/devel/py-pyina/1q new file mode 100644 index 000000000000..9eefd6db79ea --- /dev/null +++ b/devel/py-pyina/1q @@ -0,0 +1,5 @@ +numpy<1.20.0,>=1.0 +mpi4py!=3.0.2,>=1.3 +dill>=0.3.4 +pox>=0.3.0 +pathos>=0.2.8 diff --git a/devel/py-pyina/1s b/devel/py-pyina/1s new file mode 100644 index 000000000000..e21226f4643d --- /dev/null +++ b/devel/py-pyina/1s @@ -0,0 +1,397 @@ +#!/usr/bin/env python +# +# Author: Mike McKerns (mmckerns @caltech and @uqfoundation) +# Copyright (c) 1997-2016 California Institute of Technology. +# Copyright (c) 2016-2021 The Uncertainty Quantification Foundation. +# License: 3-clause BSD. The full license text is available at: +# - https://github.com/uqfoundation/pyina/blob/master/LICENSE + +import os +import sys +# drop support for older python +unsupported = None +if sys.version_info < (2, 7): + unsupported = 'Versions of Python before 2.7 are not supported' +elif (3, 0) <= sys.version_info < (3, 6): + unsupported = 'Versions of Python before 3.6 are not supported' +if unsupported: + raise ValueError(unsupported) + +# set version numbers +stable_version = '0.2.5' +target_version = '0.2.5' +is_release = stable_version == target_version + +# check if easy_install is available +try: +# import __force_distutils__ #XXX: uncomment to force use of distutills + from setuptools import setup, dist + has_setuptools = True +except ImportError: + from distutils.core import setup + has_setuptools = False + +# generate version number +if os.path.exists('pyina/info.py'): + # is a source distribution, so use existing version + os.chdir('pyina') + with open('info.py','r') as f: + f.readline() # header + this_version = f.readline().split()[-1].strip("'") + os.chdir('..') +elif stable_version == target_version: + # we are building a stable release + this_version = target_version +else: + # we are building a distribution + this_version = target_version + '.dev0' + if is_release: + from datetime import date + today = "".join(date.isoformat(date.today()).split('-')) + this_version += "-" + today + +# get the license info +with open('LICENSE') as file: + license_text = file.read() + +# generate the readme text +long_description = \ +"""---------------------------------------------- +pyina: MPI parallel map and cluster scheduling +---------------------------------------------- + +About Pyina +=========== + +The ``pyina`` package provides several basic tools to make MPI-based +parallel computing more accessable to the end user. The goal +of ``pyina`` is to allow the user to extend their own code to MPI-based +parallel computing with minimal refactoring. + +The central element of ``pyina`` is the parallel map algorithm. +``pyina`` currently provides two strategies for executing the parallel-map, +where a strategy is the algorithm for distributing the work list of +jobs across the availble nodes. These strategies can be used *"in-the-raw"* +(i.e. directly) to provide the map algorithm to a user's own mpi-aware code. +Further, in ``pyina.mpi`` ``pyina`` provides pipe and map implementations +(known as *"easy map"*) that hide the MPI internals from the user. With the +*"easy map"*, the user can launch their code in parallel batch mode -- using +standard python and without ever having to write a line of MPI code. + +There are several ways that a user would typically launch their code in +parallel -- directly with ``mpirun`` or ``mpiexec``, or through the use of a +scheduler such as *torque* or *slurm*. ``pyina`` encapsulates several of these +*"launchers"*, and provides a common interface to the different methods of +launching a MPI job. + +``pyina`` is part of ``pathos``, a python framework for heterogeneous computing. +``pyina`` is in active development, so any user feedback, bug reports, comments, +or suggestions are highly appreciated. A list of issues is located at https://github.com/uqfoundation/pyina/issues, with a legacy list maintained at https://uqfoundation.github.io/project/pathos/query. + + +Major Features +============== + +``pyina`` provides a highly configurable parallel map interface +to running MPI jobs, with: + + - a map interface that extends the python ``map`` standard + - the ability to submit batch jobs to a selection of schedulers + - the ability to customize node and process launch configurations + - the ability to launch parallel MPI jobs with standard python + - ease in selecting different strategies for processing a work list + + +Current Release +=============== + +This documentation is for version ``pyina-%(thisver)s``. + +The latest released version of ``pyina`` is available at: + + https://pypi.org/project/pyina + +``pyina`` is distributed under a 3-clause BSD license. + + >>> import pyina + >>> pyina.license() + + +Development Version +=================== + +You can get the latest development version with all the shiny new features at: + + https://github.com/uqfoundation + +If you have a new contribution, please submit a pull request. + + +Installation +============ + +``pyina`` is packaged to install from source, so you must +download the tarball, unzip, and run the installer:: + + [download] + $ tar -xvzf pyina-%(relver)s.tar.gz + $ cd pyina-%(relver)s + $ python setup py build + $ python setup py install + +You will be warned of any missing dependencies and/or settings after +you run the "build" step above. ``pyina`` depends on ``dill``, ``pox``, ``pathos``, and +``mpi4py``, so you should install them first. A version of MPI must also be +installed. Launchers in ``pyina`` that submit to a scheduler will throw errors +if the underlying scheduler is not available, however a scheduler is not +required for ``pyina`` to execute. + +Alternately, ``pyina`` can be installed with ``pip`` or ``easy_install``:: + + $ pip install pyina + + +Requirements +============ + +``pyina`` requires: + + - ``python``, **version == 2.7** or **version >= 3.6**, or ``pypy`` + - ``numpy``, **version >= 1.0** + - ``mpi4py``, **version >= 1.3** + - ``dill``, **version >= 0.3.4** + - ``pox``, **version >= 0.3.0** + - ``pathos``, **version >= 0.2.8** + +Optional requirements: + + - ``setuptools``, **version >= 0.6** + - ``mystic``, **version >= 0.3.7** + + +More Information +================ + +Probably the best way to get started is to look at the documentation at +http://pyina.rtfd.io. Also see ``pyina.examples`` and ``pyina.tests`` +for a set of scripts that demonstrate the configuration and launching of +mpi-based parallel jobs using the *"easy map"* interface. Also see +``pyina.examples_other`` for a set of scripts that test the more raw +internals of ``pyina``. You can run the tests with ``python -m pyina.tests``. +A script is included for querying, setting up, and tearing down an MPI +environment, see ``python -m pyina`` for more information. The source code +is generally well documented, so further questions may be resolved by +inspecting the code itself. Please feel free to submit a ticket on github, +or ask a question on stackoverflow (**@Mike McKerns**). +If you would like to share how you use ``pyina`` in your work, please send +an email (to **mmckerns at uqfoundation dot org**). + +Important classes and functions are found here: + + - ``pyina.mpi`` [the map API definition] + - ``pyina.schedulers`` [all available schedulers] + - ``pyina.launchers`` [all available launchers] + +Mapping strategies are found here: + + - ``pyina.mpi_scatter`` [the scatter-gather strategy] + - ``pyina.mpi_pool`` [the worker pool strategy] + +``pyina`` also provides a convience script that helps navigate the +MPI environment. This script can be run from anywhere with:: + + $ mpi_world + +If may also be convienent to set a shell alias for the launch of 'raw' +mpi-python jobs. Set something like the following (for bash):: + + $ alias mpython1='mpiexec -np 1 `which python`' + $ alias mpython2='mpiexec -np 2 `which python`' + $ ... + + +Citation +======== + +If you use ``pyina`` to do research that leads to publication, we ask that you +acknowledge use of ``pyina`` by citing the following in your publication:: + + M.M. McKerns, L. Strand, T. Sullivan, A. Fang, M.A.G. Aivazis, + "Building a framework for predictive science", Proceedings of + the 10th Python in Science Conference, 2011; + http://arxiv.org/pdf/1202.1056 + + Michael McKerns and Michael Aivazis, + "pathos: a framework for heterogeneous computing", 2010- ; + https://uqfoundation.github.io/project/pathos + +Please see https://uqfoundation.github.io/project/pathos or +http://arxiv.org/pdf/1202.1056 for further information. + +""" % {'relver' : stable_version, 'thisver' : this_version} + +# write readme file +with open('README', 'w') as file: + file.write(long_description) + +# generate 'info' file contents +def write_info_py(filename='pyina/info.py'): + contents = """# THIS FILE GENERATED FROM SETUP.PY +this_version = '%(this_version)s' +stable_version = '%(stable_version)s' +readme = '''%(long_description)s''' +license = '''%(license_text)s''' +""" + with open(filename, 'w') as file: + file.write(contents % {'this_version' : this_version, + 'stable_version' : stable_version, + 'long_description' : long_description, + 'license_text' : license_text }) + return + +# write info file +write_info_py() + +# platform-specific instructions +sdkroot_set = False +from sys import platform +if platform[:3] == 'win': + pass +else: #platform = linux or mac + if platform[:6] == 'darwin': + # mpi4py has difficulty building on a Mac + # see special installation instructions here: + # http://mpi4py.scipy.org/docs/usrman/install.html + import os + try: + sdkroot = os.environ['SDKROOT'] + except KeyError: + sdkroot = '/' + os.environ['SDKROOT'] = sdkroot + sdkroot_set = True + pass + pass + +# build the 'setup' call +setup_code = """ +setup(name="pyina", + version='%s', + description="MPI parallel map and cluster scheduling", + long_description = '''%s''', + author = 'Mike McKerns', + maintainer = 'Mike McKerns', + license = '3-clause BSD', + platforms = ['Linux', 'Mac'], + url = 'https://github.com/uqfoundation/pyina', + download_url = 'https://github.com/uqfoundation/pyina/archive/master.zip', + classifiers = ['Development Status :: 5 - Production/Stable', + 'Intended Audience :: Developers', + 'Intended Audience :: Science/Research', + 'License :: OSI Approved :: BSD License', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Topic :: Scientific/Engineering', + 'Topic :: Software Development'], + + packages=['pyina','pyina.tests'], + package_dir={'pyina':'pyina','pyina.tests':'tests'}, +""" % (target_version, long_description) + +# add dependencies +from sys import version_info +sysversion = version_info[:2] +try: + import ctypes # if using `pypy`, pythonapi is not found + IS_PYPY = not hasattr(ctypes, 'pythonapi') + IS_PYPY2 = IS_PYPY and sysversion < (3,0) +except: + IS_PYPY = False + IS_PYPY2 = False +if sysversion < (2,6) or sysversion == (3,0) or sysversion == (3,1): + numpy_version = '>=1.0, <1.8.0' +elif sysversion == (2,6) or sysversion == (3,2) or sysversion == (3,3): + numpy_version = '>=1.0, <1.12.0' +elif IS_PYPY2: + numpy_version = '>=1.0, <1.16.0' +elif sysversion == (2,7) or sysversion == (3,4): + numpy_version = '>=1.0, <1.17.0' +elif sysversion == (3,5): + numpy_version = '>=1.0, <1.19.0' +elif sysversion == (3,6):# or IS_PYPY + numpy_version = '>=1.0, <1.20.0' +else: + numpy_version = '>=1.0' +dill_version = '>=0.3.4' +pox_version = '>=0.3.0' +pathos_version = '>=0.2.8' +mpi4py_version = '>=1.3, !=3.0.2' # segfault 11 on MPI import +pypar_version = '>=2.1.4' +mystic_version = '>=0.3.7' +# rtd fails for mpi4py, mock it instead +on_rtd = os.environ.get('READTHEDOCS', None) == 'True' +if has_setuptools: + if on_rtd: + setup_code += """ + zip_safe = False, + install_requires = ('numpy%s', 'dill%s', 'pox%s', 'pathos%s'), +""" % (numpy_version, dill_version, pox_version, pathos_version) + else: + setup_code += """ + zip_safe = False, + install_requires = ('numpy%s', 'mpi4py%s', 'dill%s', 'pox%s', 'pathos%s'), +""" % (numpy_version, mpi4py_version, dill_version, pox_version, pathos_version) + +# add the scripts, and close 'setup' call +setup_code += """ + scripts=['scripts/ezpool','scripts/ezscatter','scripts/mpi_world']) +""" + +# exec the 'setup' code +exec(setup_code) + +# if dependencies are missing, print a warning +try: + import numpy + import dill + import pox + import pathos + import mpi4py #XXX: throws an error even though ok? + #import pypar +except ImportError: + print("\n***********************************************************") + print("WARNING: One of the following dependencies may be unresolved:") + print((" numpy %s" % numpy_version)) + print((" dill %s" % dill_version)) + print((" pox %s" % pox_version)) + print((" pathos %s" % pathos_version)) + print((" mpi4py %s" % mpi4py_version)) +# print(" pypar %s (optional)" % pypar_version) + print("***********************************************************\n") + +if sdkroot_set: + print("\n***********************************************************") + print("WARNING: One of following variables was set to a default:") + print((" SDKROOT %s" % sdkroot)) + print("***********************************************************\n") +else: + pass + +try: + import mpi4py +except ImportError: + print(""" +You may need to set the environment variable "SDKROOT", +as shown in the instructions for installing ``mpi4py``: + http://mpi4py.scipy.org/docs/usrman/install.html +""") + + +if __name__=='__main__': + pass + +# End of file diff --git a/devel/py-pyina/1t b/devel/py-pyina/1t new file mode 100644 index 000000000000..8bfd5a12f85b --- /dev/null +++ b/devel/py-pyina/1t @@ -0,0 +1,4 @@ +[egg_info] +tag_build = +tag_date = 0 + diff --git a/devel/py-pyina/Makefile b/devel/py-pyina/Makefile new file mode 100644 index 000000000000..e15d6a07b297 --- /dev/null +++ b/devel/py-pyina/Makefile @@ -0,0 +1,26 @@ +# Created by: Po-Chuan Hsieh + +PORTNAME= pyina +PORTVERSION= 0.2.5 +CATEGORIES= devel python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= MPI parallel map and cluster scheduling + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dill>=0.3.4:devel/py-dill@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}mpi4py>=1.3:net/py-mpi4py@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy>=1.0,1:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pathos>=0.2.8:devel/py-pathos@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pox>=0.3.0:devel/py-pox@${PY_FLAVOR} + +USES= python:3.7+ zip +USE_PYTHON= autoplist concurrent distutils + +NO_ARCH= yes + +.include diff --git a/devel/py-pyina/distinfo b/devel/py-pyina/distinfo new file mode 100644 index 000000000000..63b73c959dbf --- /dev/null +++ b/devel/py-pyina/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1655561120 +SHA256 (pyina-0.2.5.zip) = 4fd1a9ed7000bbe209b50621f862d43f13f1dfac65fa270ce0c1c8c8c067e23a +SIZE (pyina-0.2.5.zip) = 164742 diff --git a/devel/py-pyina/pkg-descr b/devel/py-pyina/pkg-descr new file mode 100644 index 000000000000..74cb7f126106 --- /dev/null +++ b/devel/py-pyina/pkg-descr @@ -0,0 +1,6 @@ +The pyina package provides several basic tools to make MPI-based parallel +computing more accessable to the end user. The goal of pyina is to allow the +user to extend their own code to MPI-based parallel computing with minimal +refactoring. + +WWW: https://github.com/uqfoundation/pyina