numba-mpi 1.1.5__tar.gz → 1.1.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/.github/workflows/readme_snippets.yml +1 -1
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/.github/workflows/tests+pypi.yml +25 -36
- numba_mpi-1.1.7/.github/workflows/urlcheck.yml +24 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/.pre-commit-config.yaml +1 -1
- {numba_mpi-1.1.5/numba_mpi.egg-info → numba_mpi-1.1.7}/PKG-INFO +21 -23
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/README.md +7 -9
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/common.py +2 -1
- {numba_mpi-1.1.5 → numba_mpi-1.1.7/numba_mpi.egg-info}/PKG-INFO +21 -23
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi.egg-info/SOURCES.txt +3 -1
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi.egg-info/requires.txt +4 -1
- numba_mpi-1.1.7/pyproject.toml +45 -0
- numba_mpi-1.1.7/tests/conftest.py +7 -0
- numba_mpi-1.1.5/setup.py +0 -38
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/.github/numba_mpi_logo.png +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/.github/numba_mpi_logo.svg +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/.github/workflows/stale.yml +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/.gitignore +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/.vscode/settings.json +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/.zenodo.json +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/CITATION.cff +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/CODE_OF_CONDUCT.md +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/LICENSE +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/__init__.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/__init__.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/allreduce.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/barrier.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/bcast.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/initialized.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/irecv.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/isend.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/operator.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/query_thread.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/rank.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/recv.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/reduce.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/requests.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/scatter_gather.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/send.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/size.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/api/wtime.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi/utils.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi.egg-info/dependency_links.txt +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/numba_mpi.egg-info/top_level.txt +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/setup.cfg +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/__init__.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/api/test_allreduce.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/api/test_barrier.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/api/test_bcast.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/api/test_init.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/api/test_isend_irecv.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/api/test_query_thread.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/api/test_rank.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/api/test_reduce.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/api/test_scatter_gather.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/api/test_send_recv.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/api/test_size.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/api/test_wtime.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/common.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/paper_listings/exchange.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/paper_listings/hello.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/paper_listings/mpi4py_with_error.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/paper_listings/numba_mpi.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/paper_listings/py-pde.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/paper_listings/test.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/paper_listings/timing.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/test_paper_listings.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/test_version.py +0 -0
- {numba_mpi-1.1.5 → numba_mpi-1.1.7}/tests/utils.py +0 -0
|
@@ -19,21 +19,15 @@ jobs:
|
|
|
19
19
|
runs-on: ubuntu-latest
|
|
20
20
|
steps:
|
|
21
21
|
- uses: actions/checkout@v4
|
|
22
|
-
- uses:
|
|
23
|
-
- name: Set up Python
|
|
24
|
-
uses: actions/setup-python@v5
|
|
22
|
+
- uses: actions/setup-python@v5
|
|
25
23
|
with:
|
|
26
|
-
python-version: "3.
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
pip install
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
pip install -r numba_mpi.egg-info/requires.txt
|
|
34
|
-
- name: Analysing the code with pylint
|
|
35
|
-
run: |
|
|
36
|
-
pylint --unsafe-load-any-extension=y --disable=fixme,duplicate-code $(git ls-files '*.py' | grep -v -e ^tests/paper_listings)
|
|
24
|
+
python-version: "3.13"
|
|
25
|
+
- uses: mpi4py/setup-mpi@v1
|
|
26
|
+
- run: |
|
|
27
|
+
pip install pylint
|
|
28
|
+
pip install -e .[tests,CI_version_pins]
|
|
29
|
+
- run: |
|
|
30
|
+
pylint --ignored-modules=mpi4py --disable=fixme,duplicate-code $(git ls-files '*.py' | grep -v -e ^tests/paper_listings)
|
|
37
31
|
|
|
38
32
|
precommit:
|
|
39
33
|
runs-on: ubuntu-latest
|
|
@@ -65,7 +59,7 @@ jobs:
|
|
|
65
59
|
- name: Build
|
|
66
60
|
run: |
|
|
67
61
|
pip install pdoc
|
|
68
|
-
pip install -e .
|
|
62
|
+
pip install -e .[CI_version_pins]
|
|
69
63
|
PDOC_ALLOW_EXEC=1 python -We -m pdoc -o html numba_mpi
|
|
70
64
|
- name: Deploy
|
|
71
65
|
if: github.ref == 'refs/heads/main'
|
|
@@ -91,39 +85,37 @@ jobs:
|
|
|
91
85
|
mpi-np: [2, 3]
|
|
92
86
|
platform:
|
|
93
87
|
- ubuntu-latest
|
|
88
|
+
- ubuntu-24.04-arm
|
|
94
89
|
- windows-latest
|
|
95
|
-
- macos-
|
|
90
|
+
- macos-15-intel # arch: Intel
|
|
96
91
|
- macos-15 # arch: arm64
|
|
97
|
-
python-version: ["3.
|
|
92
|
+
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
|
98
93
|
mpi: [ 'mpich', 'openmpi', 'msmpi', 'intelmpi']
|
|
99
94
|
exclude:
|
|
100
|
-
- platform: macos-
|
|
95
|
+
- platform: macos-15-intel
|
|
101
96
|
mpi: msmpi
|
|
102
|
-
- platform: macos-
|
|
97
|
+
- platform: macos-15-intel
|
|
103
98
|
mpi: intelmpi
|
|
104
|
-
- platform: macos-13 # TODO: # 163
|
|
105
|
-
mpi: openmpi
|
|
106
99
|
- platform: macos-15
|
|
107
100
|
mpi: msmpi
|
|
108
101
|
- platform: macos-15
|
|
109
102
|
mpi: intelmpi
|
|
110
|
-
- platform: macos-15
|
|
103
|
+
- platform: macos-15-intel # TODO: # 163
|
|
104
|
+
mpi: openmpi
|
|
105
|
+
- platform: macos-15 # TODO: # 163
|
|
111
106
|
mpi: openmpi
|
|
112
107
|
- platform: ubuntu-latest
|
|
113
108
|
mpi: msmpi
|
|
114
|
-
- platform: ubuntu-
|
|
115
|
-
mpi:
|
|
109
|
+
- platform: ubuntu-24.04-arm
|
|
110
|
+
mpi: msmpi
|
|
111
|
+
- platform: ubuntu-24.04-arm
|
|
112
|
+
mpi: intelmpi
|
|
116
113
|
- platform: windows-latest
|
|
117
114
|
mpi: mpich
|
|
118
115
|
- platform: windows-latest
|
|
119
116
|
mpi: openmpi
|
|
120
117
|
- platform: windows-latest
|
|
121
118
|
mpi: intelmpi
|
|
122
|
-
|
|
123
|
-
# https://github.com/numba-mpi/numba-mpi/issues/69
|
|
124
|
-
- platform: ubuntu-latest
|
|
125
|
-
python-version: 3.9
|
|
126
|
-
mpi: mpich
|
|
127
119
|
fail-fast: false
|
|
128
120
|
runs-on: ${{ matrix.platform }}
|
|
129
121
|
steps:
|
|
@@ -134,14 +126,14 @@ jobs:
|
|
|
134
126
|
- uses: mpi4py/setup-mpi@v1
|
|
135
127
|
with:
|
|
136
128
|
mpi: ${{ matrix.mpi }}
|
|
137
|
-
- if:
|
|
138
|
-
run: echo DYLD_FALLBACK_LIBRARY_PATH="/opt/homebrew/lib:/usr/lib:$DYLD_FALLBACK_LIBRARY_PATH" >> $GITHUB_ENV
|
|
129
|
+
- if: startsWith(matrix.platform, 'macos-')
|
|
130
|
+
run: echo DYLD_FALLBACK_LIBRARY_PATH="/opt/homebrew/lib:/usr/local/lib:/usr/lib:$DYLD_FALLBACK_LIBRARY_PATH" >> $GITHUB_ENV
|
|
139
131
|
- if: matrix.mpi == 'intelmpi'
|
|
140
132
|
run: |
|
|
141
133
|
# checking if multiple MPI libs are OK
|
|
142
134
|
sudo apt-get install mpi-default-bin
|
|
143
135
|
mpiexec python -c "import os; assert 'I_MPI_ROOT' in os.environ"
|
|
144
|
-
- run: pip install -e .[tests]
|
|
136
|
+
- run: pip install -e .[tests,CI_version_pins]
|
|
145
137
|
- run: python -We -c "import mpi4py"
|
|
146
138
|
- run: python -We -c "import numba_mpi"
|
|
147
139
|
- run: mpiexec -n ${{ matrix.mpi-np }} pytest --durations=10 -p no:unraisableexception -We
|
|
@@ -169,10 +161,7 @@ jobs:
|
|
|
169
161
|
- run: twine check --strict dist/*
|
|
170
162
|
|
|
171
163
|
- run: |
|
|
172
|
-
|
|
173
|
-
ex -sc 'g/^\[tests\]$/d' -cx numba_mpi.egg-info/requires.txt
|
|
174
|
-
pip install -r numba_mpi.egg-info/requires.txt
|
|
175
|
-
pip install --no-index --find-links file:./dist numba-mpi
|
|
164
|
+
pip install --find-links file:./dist numba-mpi
|
|
176
165
|
cd /tmp # make sure local files are not picked up
|
|
177
166
|
python -We -c "import numba_mpi"
|
|
178
167
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: urlcheck
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ main ]
|
|
8
|
+
schedule:
|
|
9
|
+
- cron: '0 13 * * 4'
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
url-check:
|
|
13
|
+
runs-on: ubuntu-24.04
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4.1.6
|
|
16
|
+
- uses: urlstechie/urlchecker-action@master
|
|
17
|
+
with:
|
|
18
|
+
file_types: .md,.py,.json,.yaml,.yml,.toml,.txt,.cff
|
|
19
|
+
print_all: false
|
|
20
|
+
verbose: true
|
|
21
|
+
timeout: 7
|
|
22
|
+
retry_count: 3
|
|
23
|
+
exclude_files: .github/workflows/urlcheck.yml
|
|
24
|
+
exclude_urls: https://www.gnu.org/licenses/gpl-3.0.html
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: numba-mpi
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.7
|
|
4
4
|
Summary: Numba @jittable MPI wrappers tested on Linux, macOS and Windows
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
License: GPL v3
|
|
5
|
+
Author-email: "https://github.com/numba-mpi/numba-mpi/graphs/contributors" <sylwester.arabas@agh.edu.pl>
|
|
6
|
+
License-Expression: GPL-3.0-only
|
|
8
7
|
Project-URL: Tracker, https://github.com/numba-mpi/numba-mpi/issues
|
|
9
8
|
Project-URL: Documentation, https://numba-mpi.github.io/numba-mpi
|
|
10
9
|
Project-URL: Source, https://github.com/numba-mpi/numba-mpi
|
|
10
|
+
Keywords: MPI,numba
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Science/Research
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Topic :: Scientific/Engineering
|
|
16
|
+
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
11
19
|
Requires-Python: >=3.8
|
|
12
20
|
Description-Content-Type: text/markdown
|
|
13
21
|
License-File: LICENSE
|
|
@@ -16,19 +24,11 @@ Requires-Dist: numpy
|
|
|
16
24
|
Requires-Dist: mpi4py
|
|
17
25
|
Requires-Dist: psutil
|
|
18
26
|
Provides-Extra: tests
|
|
19
|
-
Requires-Dist: pytest
|
|
27
|
+
Requires-Dist: pytest; extra == "tests"
|
|
20
28
|
Requires-Dist: py-pde; extra == "tests"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
Dynamic: description-content-type
|
|
24
|
-
Dynamic: home-page
|
|
25
|
-
Dynamic: license
|
|
29
|
+
Provides-Extra: ci-version-pins
|
|
30
|
+
Requires-Dist: pytest==9.0.1; extra == "ci-version-pins"
|
|
26
31
|
Dynamic: license-file
|
|
27
|
-
Dynamic: project-url
|
|
28
|
-
Dynamic: provides-extra
|
|
29
|
-
Dynamic: requires-dist
|
|
30
|
-
Dynamic: requires-python
|
|
31
|
-
Dynamic: summary
|
|
32
32
|
|
|
33
33
|
# <img src="https://raw.githubusercontent.com/numba-mpi/numba-mpi/main/.github/numba_mpi_logo.png" width=128 height=142 alt="numba-mpi logo"> numba-mpi
|
|
34
34
|
|
|
@@ -37,7 +37,7 @@ Dynamic: summary
|
|
|
37
37
|
[](https://en.wikipedia.org/wiki/Linux)
|
|
38
38
|
[](https://en.wikipedia.org/wiki/macOS)
|
|
39
39
|
[](https://en.wikipedia.org/wiki/Windows)
|
|
40
|
-
[](https://github.com/numba-mpi/numba-mpi/actions/workflows/tests+pypi.yml)
|
|
40
|
+
[](https://github.com/numba-mpi/numba-mpi/actions/workflows/tests+pypi.yml)
|
|
41
41
|
[](https://GitHub.com/numba-mpi/numba-mpi/graphs/commit-activity)
|
|
42
42
|
[](https://www.gnu.org/licenses/gpl-3.0.html)
|
|
43
43
|
[](https://pypi.org/project/numba-mpi)
|
|
@@ -62,9 +62,10 @@ Packages can be obtained from
|
|
|
62
62
|
|
|
63
63
|
numba-mpi is a pure-Python package.
|
|
64
64
|
The codebase includes a test suite used through the GitHub Actions workflows ([thanks to mpi4py's setup-mpi](https://github.com/mpi4py/setup-mpi)!)
|
|
65
|
-
for automated testing on: Linux ([MPICH](https://www.mpich.org/), [OpenMPI](https://www.open-mpi.org/doc/)
|
|
65
|
+
for automated testing on: Intel Linux ([MPICH](https://www.mpich.org/), [OpenMPI](https://www.open-mpi.org/doc/)
|
|
66
66
|
& [Intel MPI](https://www.intel.com/content/www/us/en/developer/tools/oneapi/mpi-library.html)),
|
|
67
|
-
|
|
67
|
+
ARM Linux ([MPICH](https://www.mpich.org/) & [OpenMPI](https://www.open-mpi.org/doc/)),
|
|
68
|
+
Intel and ARM macOS ([MPICH](https://www.mpich.org/)) and
|
|
68
69
|
Windows ([MS MPI](https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi)). Note, that some of those
|
|
69
70
|
combinations may not be fully supported yet - see [Known Issues](#known-issues) for more information.
|
|
70
71
|
|
|
@@ -172,10 +173,7 @@ if numba_mpi.rank() == 0:
|
|
|
172
173
|
|
|
173
174
|
**NOTE**: Issues listed below only relate to combinations of platforms and MPI distributions that we target to support, but due to various reason are currently not working and are temporarily excluded from automated testing:
|
|
174
175
|
|
|
175
|
-
- tests on
|
|
176
|
-
using version `4.0.2` of MPICH (that is installed by default on Ubuntu 2022.4 using `apt`) were passing (see [related issue](https://github.com/numba-mpi/numba-mpi/issues/162) - TODO #162),
|
|
177
|
-
- tests on Intel MacOS (v13) that use OpenMPI are currently not run due to failures being under investigation (see [related issue](https://github.com/numba-mpi/numba-mpi/issues/163) - TODO #163),
|
|
178
|
-
- `numba-mpi` currently does not support ARM-based MacOS, due to required code improvement (see [related issue](https://github.com/numba-mpi/numba-mpi/issues/164) - TODO #164).
|
|
176
|
+
- tests on MacOS (both Intel- and ARM-based) that use OpenMPI are currently not run due to failures being under investigation (see [related issue](https://github.com/numba-mpi/numba-mpi/issues/163) - TODO #163).
|
|
179
177
|
|
|
180
178
|
### MPI resources on the web:
|
|
181
179
|
|
|
@@ -192,7 +190,7 @@ using version `4.0.2` of MPICH (that is installed by default on Ubuntu 2022.4 us
|
|
|
192
190
|
- Python/JAX: https://mpi4jax.readthedocs.io
|
|
193
191
|
- Julia: https://juliaparallel.org/MPI.jl
|
|
194
192
|
- Rust: https://docs.rs/mpi
|
|
195
|
-
- C++: https://boost.org/doc/html/mpi.html
|
|
193
|
+
- C++: https://www.boost.org/doc/libs/latest/doc/html/mpi.html
|
|
196
194
|
- R: https://cran.r-project.org/web/packages/Rmpi
|
|
197
195
|
|
|
198
196
|
### Acknowledgements:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# <img src="https://raw.githubusercontent.com/numba-mpi/numba-mpi/main/.github/numba_mpi_logo.
|
|
1
|
+
# <img src="https://raw.githubusercontent.com/numba-mpi/numba-mpi/main/.github/numba_mpi_logo.png" width=128 height=142 alt="numba-mpi logo"> numba-mpi
|
|
2
2
|
|
|
3
3
|
[](https://www.python.org/)
|
|
4
4
|
[](https://numba.pydata.org)
|
|
5
5
|
[](https://en.wikipedia.org/wiki/Linux)
|
|
6
6
|
[](https://en.wikipedia.org/wiki/macOS)
|
|
7
7
|
[](https://en.wikipedia.org/wiki/Windows)
|
|
8
|
-
[](https://github.com/numba-mpi/numba-mpi/actions/workflows/tests+pypi.yml)
|
|
8
|
+
[](https://github.com/numba-mpi/numba-mpi/actions/workflows/tests+pypi.yml)
|
|
9
9
|
[](https://GitHub.com/numba-mpi/numba-mpi/graphs/commit-activity)
|
|
10
10
|
[](https://www.gnu.org/licenses/gpl-3.0.html)
|
|
11
11
|
[](https://pypi.org/project/numba-mpi)
|
|
@@ -30,9 +30,10 @@ Packages can be obtained from
|
|
|
30
30
|
|
|
31
31
|
numba-mpi is a pure-Python package.
|
|
32
32
|
The codebase includes a test suite used through the GitHub Actions workflows ([thanks to mpi4py's setup-mpi](https://github.com/mpi4py/setup-mpi)!)
|
|
33
|
-
for automated testing on: Linux ([MPICH](https://www.mpich.org/), [OpenMPI](https://www.open-mpi.org/doc/)
|
|
33
|
+
for automated testing on: Intel Linux ([MPICH](https://www.mpich.org/), [OpenMPI](https://www.open-mpi.org/doc/)
|
|
34
34
|
& [Intel MPI](https://www.intel.com/content/www/us/en/developer/tools/oneapi/mpi-library.html)),
|
|
35
|
-
|
|
35
|
+
ARM Linux ([MPICH](https://www.mpich.org/) & [OpenMPI](https://www.open-mpi.org/doc/)),
|
|
36
|
+
Intel and ARM macOS ([MPICH](https://www.mpich.org/)) and
|
|
36
37
|
Windows ([MS MPI](https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi)). Note, that some of those
|
|
37
38
|
combinations may not be fully supported yet - see [Known Issues](#known-issues) for more information.
|
|
38
39
|
|
|
@@ -140,10 +141,7 @@ if numba_mpi.rank() == 0:
|
|
|
140
141
|
|
|
141
142
|
**NOTE**: Issues listed below only relate to combinations of platforms and MPI distributions that we target to support, but due to various reason are currently not working and are temporarily excluded from automated testing:
|
|
142
143
|
|
|
143
|
-
- tests on
|
|
144
|
-
using version `4.0.2` of MPICH (that is installed by default on Ubuntu 2022.4 using `apt`) were passing (see [related issue](https://github.com/numba-mpi/numba-mpi/issues/162) - TODO #162),
|
|
145
|
-
- tests on Intel MacOS (v13) that use OpenMPI are currently not run due to failures being under investigation (see [related issue](https://github.com/numba-mpi/numba-mpi/issues/163) - TODO #163),
|
|
146
|
-
- `numba-mpi` currently does not support ARM-based MacOS, due to required code improvement (see [related issue](https://github.com/numba-mpi/numba-mpi/issues/164) - TODO #164).
|
|
144
|
+
- tests on MacOS (both Intel- and ARM-based) that use OpenMPI are currently not run due to failures being under investigation (see [related issue](https://github.com/numba-mpi/numba-mpi/issues/163) - TODO #163).
|
|
147
145
|
|
|
148
146
|
### MPI resources on the web:
|
|
149
147
|
|
|
@@ -160,7 +158,7 @@ using version `4.0.2` of MPICH (that is installed by default on Ubuntu 2022.4 us
|
|
|
160
158
|
- Python/JAX: https://mpi4jax.readthedocs.io
|
|
161
159
|
- Julia: https://juliaparallel.org/MPI.jl
|
|
162
160
|
- Rust: https://docs.rs/mpi
|
|
163
|
-
- C++: https://boost.org/doc/html/mpi.html
|
|
161
|
+
- C++: https://www.boost.org/doc/libs/latest/doc/html/mpi.html
|
|
164
162
|
- R: https://cran.r-project.org/web/packages/Rmpi
|
|
165
163
|
|
|
166
164
|
### Acknowledgements:
|
|
@@ -76,7 +76,8 @@ if LIB is None:
|
|
|
76
76
|
if sys.platform == "darwin":
|
|
77
77
|
raise RuntimeError(
|
|
78
78
|
"""MPI library not found, if MPI was installed with Homebrew, export the following:
|
|
79
|
-
DYLD_FALLBACK_LIBRARY_PATH="/opt/homebrew/lib:/usr/lib:$DYLD_FALLBACK_LIBRARY_PATH
|
|
79
|
+
ARM: DYLD_FALLBACK_LIBRARY_PATH="/opt/homebrew/lib:/usr/lib:$DYLD_FALLBACK_LIBRARY_PATH
|
|
80
|
+
Intel: DYLD_FALLBACK_LIBRARY_PATH="/usr/local/lib:/usr/lib:$DYLD_FALLBACK_LIBRARY_PATH
|
|
80
81
|
"""
|
|
81
82
|
)
|
|
82
83
|
raise RuntimeError("no MPI library found")
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: numba-mpi
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.7
|
|
4
4
|
Summary: Numba @jittable MPI wrappers tested on Linux, macOS and Windows
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
License: GPL v3
|
|
5
|
+
Author-email: "https://github.com/numba-mpi/numba-mpi/graphs/contributors" <sylwester.arabas@agh.edu.pl>
|
|
6
|
+
License-Expression: GPL-3.0-only
|
|
8
7
|
Project-URL: Tracker, https://github.com/numba-mpi/numba-mpi/issues
|
|
9
8
|
Project-URL: Documentation, https://numba-mpi.github.io/numba-mpi
|
|
10
9
|
Project-URL: Source, https://github.com/numba-mpi/numba-mpi
|
|
10
|
+
Keywords: MPI,numba
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Science/Research
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Topic :: Scientific/Engineering
|
|
16
|
+
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
11
19
|
Requires-Python: >=3.8
|
|
12
20
|
Description-Content-Type: text/markdown
|
|
13
21
|
License-File: LICENSE
|
|
@@ -16,19 +24,11 @@ Requires-Dist: numpy
|
|
|
16
24
|
Requires-Dist: mpi4py
|
|
17
25
|
Requires-Dist: psutil
|
|
18
26
|
Provides-Extra: tests
|
|
19
|
-
Requires-Dist: pytest
|
|
27
|
+
Requires-Dist: pytest; extra == "tests"
|
|
20
28
|
Requires-Dist: py-pde; extra == "tests"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
Dynamic: description-content-type
|
|
24
|
-
Dynamic: home-page
|
|
25
|
-
Dynamic: license
|
|
29
|
+
Provides-Extra: ci-version-pins
|
|
30
|
+
Requires-Dist: pytest==9.0.1; extra == "ci-version-pins"
|
|
26
31
|
Dynamic: license-file
|
|
27
|
-
Dynamic: project-url
|
|
28
|
-
Dynamic: provides-extra
|
|
29
|
-
Dynamic: requires-dist
|
|
30
|
-
Dynamic: requires-python
|
|
31
|
-
Dynamic: summary
|
|
32
32
|
|
|
33
33
|
# <img src="https://raw.githubusercontent.com/numba-mpi/numba-mpi/main/.github/numba_mpi_logo.png" width=128 height=142 alt="numba-mpi logo"> numba-mpi
|
|
34
34
|
|
|
@@ -37,7 +37,7 @@ Dynamic: summary
|
|
|
37
37
|
[](https://en.wikipedia.org/wiki/Linux)
|
|
38
38
|
[](https://en.wikipedia.org/wiki/macOS)
|
|
39
39
|
[](https://en.wikipedia.org/wiki/Windows)
|
|
40
|
-
[](https://github.com/numba-mpi/numba-mpi/actions/workflows/tests+pypi.yml)
|
|
40
|
+
[](https://github.com/numba-mpi/numba-mpi/actions/workflows/tests+pypi.yml)
|
|
41
41
|
[](https://GitHub.com/numba-mpi/numba-mpi/graphs/commit-activity)
|
|
42
42
|
[](https://www.gnu.org/licenses/gpl-3.0.html)
|
|
43
43
|
[](https://pypi.org/project/numba-mpi)
|
|
@@ -62,9 +62,10 @@ Packages can be obtained from
|
|
|
62
62
|
|
|
63
63
|
numba-mpi is a pure-Python package.
|
|
64
64
|
The codebase includes a test suite used through the GitHub Actions workflows ([thanks to mpi4py's setup-mpi](https://github.com/mpi4py/setup-mpi)!)
|
|
65
|
-
for automated testing on: Linux ([MPICH](https://www.mpich.org/), [OpenMPI](https://www.open-mpi.org/doc/)
|
|
65
|
+
for automated testing on: Intel Linux ([MPICH](https://www.mpich.org/), [OpenMPI](https://www.open-mpi.org/doc/)
|
|
66
66
|
& [Intel MPI](https://www.intel.com/content/www/us/en/developer/tools/oneapi/mpi-library.html)),
|
|
67
|
-
|
|
67
|
+
ARM Linux ([MPICH](https://www.mpich.org/) & [OpenMPI](https://www.open-mpi.org/doc/)),
|
|
68
|
+
Intel and ARM macOS ([MPICH](https://www.mpich.org/)) and
|
|
68
69
|
Windows ([MS MPI](https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi)). Note, that some of those
|
|
69
70
|
combinations may not be fully supported yet - see [Known Issues](#known-issues) for more information.
|
|
70
71
|
|
|
@@ -172,10 +173,7 @@ if numba_mpi.rank() == 0:
|
|
|
172
173
|
|
|
173
174
|
**NOTE**: Issues listed below only relate to combinations of platforms and MPI distributions that we target to support, but due to various reason are currently not working and are temporarily excluded from automated testing:
|
|
174
175
|
|
|
175
|
-
- tests on
|
|
176
|
-
using version `4.0.2` of MPICH (that is installed by default on Ubuntu 2022.4 using `apt`) were passing (see [related issue](https://github.com/numba-mpi/numba-mpi/issues/162) - TODO #162),
|
|
177
|
-
- tests on Intel MacOS (v13) that use OpenMPI are currently not run due to failures being under investigation (see [related issue](https://github.com/numba-mpi/numba-mpi/issues/163) - TODO #163),
|
|
178
|
-
- `numba-mpi` currently does not support ARM-based MacOS, due to required code improvement (see [related issue](https://github.com/numba-mpi/numba-mpi/issues/164) - TODO #164).
|
|
176
|
+
- tests on MacOS (both Intel- and ARM-based) that use OpenMPI are currently not run due to failures being under investigation (see [related issue](https://github.com/numba-mpi/numba-mpi/issues/163) - TODO #163).
|
|
179
177
|
|
|
180
178
|
### MPI resources on the web:
|
|
181
179
|
|
|
@@ -192,7 +190,7 @@ using version `4.0.2` of MPICH (that is installed by default on Ubuntu 2022.4 us
|
|
|
192
190
|
- Python/JAX: https://mpi4jax.readthedocs.io
|
|
193
191
|
- Julia: https://juliaparallel.org/MPI.jl
|
|
194
192
|
- Rust: https://docs.rs/mpi
|
|
195
|
-
- C++: https://boost.org/doc/html/mpi.html
|
|
193
|
+
- C++: https://www.boost.org/doc/libs/latest/doc/html/mpi.html
|
|
196
194
|
- R: https://cran.r-project.org/web/packages/Rmpi
|
|
197
195
|
|
|
198
196
|
### Acknowledgements:
|
|
@@ -5,12 +5,13 @@ CITATION.cff
|
|
|
5
5
|
CODE_OF_CONDUCT.md
|
|
6
6
|
LICENSE
|
|
7
7
|
README.md
|
|
8
|
-
|
|
8
|
+
pyproject.toml
|
|
9
9
|
.github/numba_mpi_logo.png
|
|
10
10
|
.github/numba_mpi_logo.svg
|
|
11
11
|
.github/workflows/readme_snippets.yml
|
|
12
12
|
.github/workflows/stale.yml
|
|
13
13
|
.github/workflows/tests+pypi.yml
|
|
14
|
+
.github/workflows/urlcheck.yml
|
|
14
15
|
.vscode/settings.json
|
|
15
16
|
numba_mpi/__init__.py
|
|
16
17
|
numba_mpi/common.py
|
|
@@ -39,6 +40,7 @@ numba_mpi/api/size.py
|
|
|
39
40
|
numba_mpi/api/wtime.py
|
|
40
41
|
tests/__init__.py
|
|
41
42
|
tests/common.py
|
|
43
|
+
tests/conftest.py
|
|
42
44
|
tests/test_paper_listings.py
|
|
43
45
|
tests/test_version.py
|
|
44
46
|
tests/utils.py
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
[tool.isort]
|
|
2
|
+
profile = "black"
|
|
3
|
+
|
|
4
|
+
[tool.setuptools_scm]
|
|
5
|
+
local_scheme = "no-local-version"
|
|
6
|
+
version_scheme = "post-release"
|
|
7
|
+
|
|
8
|
+
[tool.setuptools.packages.find]
|
|
9
|
+
include = ["numba_mpi", "numba_mpi*"]
|
|
10
|
+
|
|
11
|
+
[build-system]
|
|
12
|
+
requires = ['setuptools==80.9.0', 'setuptools-scm==9.0.1']
|
|
13
|
+
build-backend = "setuptools.build_meta"
|
|
14
|
+
|
|
15
|
+
[project]
|
|
16
|
+
name = "numba-mpi"
|
|
17
|
+
description = "Numba @jittable MPI wrappers tested on Linux, macOS and Windows"
|
|
18
|
+
keywords = ["MPI", "numba"]
|
|
19
|
+
license = "GPL-3.0-only"
|
|
20
|
+
readme = "README.md"
|
|
21
|
+
classifiers = [
|
|
22
|
+
"Development Status :: 4 - Beta",
|
|
23
|
+
"Intended Audience :: Science/Research",
|
|
24
|
+
"Operating System :: OS Independent",
|
|
25
|
+
"Programming Language :: Python :: 3",
|
|
26
|
+
"Topic :: Scientific/Engineering",
|
|
27
|
+
"Topic :: Scientific/Engineering :: Mathematics",
|
|
28
|
+
"Topic :: Scientific/Engineering :: Physics",
|
|
29
|
+
"Topic :: Software Development :: Libraries",
|
|
30
|
+
]
|
|
31
|
+
requires-python = ">= 3.8"
|
|
32
|
+
authors = [
|
|
33
|
+
{name = "https://github.com/numba-mpi/numba-mpi/graphs/contributors", email = "sylwester.arabas@agh.edu.pl"}
|
|
34
|
+
]
|
|
35
|
+
dynamic = ["version"]
|
|
36
|
+
dependencies = ["numba", "numpy", "mpi4py", "psutil"]
|
|
37
|
+
|
|
38
|
+
[project.optional-dependencies]
|
|
39
|
+
"tests" = ["pytest", "py-pde"]
|
|
40
|
+
"CI_version_pins" = ["pytest==9.0.1"]
|
|
41
|
+
|
|
42
|
+
[project.urls]
|
|
43
|
+
Tracker = "https://github.com/numba-mpi/numba-mpi/issues"
|
|
44
|
+
Documentation = "https://numba-mpi.github.io/numba-mpi"
|
|
45
|
+
Source = "https://github.com/numba-mpi/numba-mpi"
|
numba_mpi-1.1.5/setup.py
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"""the magick behind ``pip install ...``"""
|
|
2
|
-
|
|
3
|
-
from setuptools import find_packages, setup
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def get_long_description():
|
|
7
|
-
"""returns contents of README.md file"""
|
|
8
|
-
with open("README.md", "r", encoding="utf8") as file:
|
|
9
|
-
long_description = file.read()
|
|
10
|
-
long_description = long_description.replace(
|
|
11
|
-
"numba_mpi_logo.svg", "numba_mpi_logo.png"
|
|
12
|
-
)
|
|
13
|
-
return long_description
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
setup(
|
|
17
|
-
name="numba-mpi",
|
|
18
|
-
url="https://github.com/numba-mpi/numba-mpi",
|
|
19
|
-
author="https://github.com/numba-mpi/numba-mpi/graphs/contributors",
|
|
20
|
-
use_scm_version={
|
|
21
|
-
"local_scheme": "no-local-version",
|
|
22
|
-
"version_scheme": "post-release",
|
|
23
|
-
},
|
|
24
|
-
python_requires=">=3.8",
|
|
25
|
-
setup_requires=["setuptools_scm"],
|
|
26
|
-
license="GPL v3",
|
|
27
|
-
description="Numba @jittable MPI wrappers tested on Linux, macOS and Windows",
|
|
28
|
-
install_requires=("numba", "numpy", "mpi4py", "psutil"),
|
|
29
|
-
extras_require={"tests": ("pytest<8.0.0", "py-pde")}, # TODO #122
|
|
30
|
-
long_description=get_long_description(),
|
|
31
|
-
long_description_content_type="text/markdown",
|
|
32
|
-
packages=find_packages(include=["numba_mpi", "numba_mpi.*"]),
|
|
33
|
-
project_urls={
|
|
34
|
-
"Tracker": "https://github.com/numba-mpi/numba-mpi/issues",
|
|
35
|
-
"Documentation": "https://numba-mpi.github.io/numba-mpi",
|
|
36
|
-
"Source": "https://github.com/numba-mpi/numba-mpi",
|
|
37
|
-
},
|
|
38
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|