numba-mpi 0.39__py3-none-any.whl → 0.41__py3-none-any.whl

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/__init__.py CHANGED
@@ -1,5 +1,6 @@
1
1
  """ Numba @njittable MPI wrappers tested on Linux, macOS and Windows """
2
- from pkg_resources import DistributionNotFound, VersionConflict, get_distribution
2
+
3
+ from importlib.metadata import PackageNotFoundError, version
3
4
 
4
5
  from .api.allreduce import allreduce
5
6
  from .api.barrier import barrier
@@ -18,7 +19,7 @@ from .api.wtime import wtime
18
19
  from .common import RequestType
19
20
 
20
21
  try:
21
- __version__ = get_distribution(__name__).version
22
- except (DistributionNotFound, VersionConflict):
22
+ __version__ = version(__name__)
23
+ except PackageNotFoundError:
23
24
  # package is not installed
24
25
  pass
@@ -1,4 +1,5 @@
1
1
  """file contains MPI_Allreduce() implementations"""
2
+
2
3
  import ctypes
3
4
  from numbers import Number
4
5
 
numba_mpi/api/barrier.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """file contains MPI_Barrier() implementation"""
2
+
2
3
  import ctypes
3
4
 
4
5
  import numba
numba_mpi/api/bcast.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """MPI_Bcast() implementation"""
2
+
2
3
  import ctypes
3
4
 
4
5
  import numba
@@ -1,4 +1,5 @@
1
1
  """file contains MPI_Initialized() implementation"""
2
+
2
3
  import ctypes
3
4
 
4
5
  import numba
numba_mpi/api/operator.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """operators supported by MPI"""
2
+
2
3
  from enum import IntEnum
3
4
 
4
5
  from mpi4py import MPI
numba_mpi/api/rank.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """MPI_Comm_rank() implementation"""
2
+
2
3
  import ctypes
3
4
 
4
5
  import numba
numba_mpi/api/recv.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """MPI_Recv() implementation"""
2
+
2
3
  import ctypes
3
4
 
4
5
  import numba
numba_mpi/api/requests.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """ Utilities for handling MPI_Requests with respective Wait and Test function
2
2
  wrappers.
3
3
  """
4
+
4
5
  import ctypes
5
6
 
6
7
  import numba
@@ -1,4 +1,5 @@
1
1
  """MPI_Scatter() implementation"""
2
+
2
3
  import ctypes
3
4
 
4
5
  import numba
numba_mpi/api/send.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """MPI_Send() implementation"""
2
+
2
3
  import ctypes
3
4
 
4
5
  import numba
numba_mpi/api/size.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """MPI_Comm_size() implementation"""
2
+
2
3
  import ctypes
3
4
 
4
5
  import numba
numba_mpi/api/wtime.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """MPI_Wtime() implementation"""
2
+
2
3
  import ctypes
3
4
 
4
5
  import numba
numba_mpi/common.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """variables used across API implementation"""
2
+
2
3
  import ctypes
3
4
  import os
4
5
  from ctypes.util import find_library
numba_mpi/utils.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """helper functions used across API implementation"""
2
+
2
3
  import numba
3
4
  import numpy as np
4
5
  from numba.core import cgutils, types
@@ -0,0 +1,172 @@
1
+ Metadata-Version: 2.1
2
+ Name: numba-mpi
3
+ Version: 0.41
4
+ Summary: Numba @njittable MPI wrappers tested on Linux, macOS and Windows
5
+ Home-page: https://github.com/numba-mpi/numba-mpi
6
+ Author: https://github.com/numba-mpi/numba-mpi/graphs/contributors
7
+ License: GPL v3
8
+ Project-URL: Tracker, https://github.com/numba-mpi/numba-mpi/issues
9
+ Project-URL: Documentation, https://numba-mpi.github.io/numba-mpi
10
+ Project-URL: Source, https://github.com/numba-mpi/numba-mpi
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: numba
14
+ Requires-Dist: numpy
15
+ Requires-Dist: mpi4py
16
+ Requires-Dist: psutil
17
+ Provides-Extra: tests
18
+ Requires-Dist: pytest <8.0.0 ; extra == 'tests'
19
+
20
+ # <img src="https://raw.githubusercontent.com/numba-mpi/numba-mpi/main/.github/numba_mpi_logo.svg" style="height:50pt" alt="numba-mpi logo"> numba-mpi
21
+
22
+ [![Python 3](https://img.shields.io/static/v1?label=Python&logo=Python&color=3776AB&message=3)](https://www.python.org/)
23
+ [![LLVM](https://img.shields.io/static/v1?label=LLVM&logo=LLVM&color=gold&message=Numba)](https://numba.pydata.org)
24
+ [![Linux OK](https://img.shields.io/static/v1?label=Linux&logo=Linux&color=yellow&message=%E2%9C%93)](https://en.wikipedia.org/wiki/Linux)
25
+ [![macOS OK](https://img.shields.io/static/v1?label=macOS&logo=Apple&color=silver&message=%E2%9C%93)](https://en.wikipedia.org/wiki/macOS)
26
+ [![Windows OK](https://img.shields.io/static/v1?label=Windows&logo=Windows&color=white&message=%E2%9C%93)](https://en.wikipedia.org/wiki/Windows)
27
+ [![Github Actions Status](https://github.com/numba-mpi/numba-mpi/workflows/tests+pypi/badge.svg?branch=main)](https://github.com/numba-mpi/numba-mpi/actions/workflows/tests+pypi.yml)
28
+ [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/numba-mpi/numba-mpi/graphs/commit-activity)
29
+ [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.html)
30
+ [![PyPI version](https://badge.fury.io/py/numba-mpi.svg)](https://pypi.org/project/numba-mpi)
31
+ [![Anaconda-Server Badge](https://anaconda.org/conda-forge/numba-mpi/badges/version.svg)](https://anaconda.org/conda-forge/numba-mpi)
32
+ [![AUR package](https://repology.org/badge/version-for-repo/aur/python:numba-mpi.svg)](https://aur.archlinux.org/packages/python-numba-mpi)
33
+ [![DOI](https://zenodo.org/badge/316911228.svg)](https://zenodo.org/badge/latestdoi/316911228)
34
+
35
+ ### Overview
36
+ numba-mpi provides Python wrappers to the C MPI API callable from within [Numba JIT-compiled code](https://numba.readthedocs.io/en/stable/user/jit.html) (@njit mode).
37
+
38
+ Support is provided for a subset of MPI routines covering: `size`/`rank`, `send`/`recv`, `allreduce`, `bcast`, `scatter`/`gather` & `allgather`, `barrier`, `wtime`
39
+ and basic asynchronous communication with `isend`/`irecv` (only for contiguous arrays); for request handling including `wait`/`waitall`/`waitany` and `test`/`testall`/`testany`.
40
+
41
+ The API uses NumPy and supports both numeric and character datatypes (e.g., `broadcast`).
42
+ Auto-generated docstring-based API docs are published on the web: https://numba-mpi.github.io/numba-mpi
43
+
44
+ Packages can be obtained from
45
+ [PyPI](https://pypi.org/project/numba-mpi),
46
+ [Conda Forge](https://anaconda.org/conda-forge/numba-mpi),
47
+ [Arch Linux](https://aur.archlinux.org/packages/python-numba-mpi)
48
+ or by invoking `pip install git+https://github.com/numba-mpi/numba-mpi.git`.
49
+
50
+ numba-mpi is a pure-Python package.
51
+ The codebase includes a test suite used through the GitHub Actions workflows ([thanks to mpi4py's setup-mpi](https://github.com/mpi4py/setup-mpi)!)
52
+ for automated testing on: Linux ([MPICH](https://www.mpich.org/), [OpenMPI](https://www.open-mpi.org/doc/)
53
+ & [Intel MPI](https://www.intel.com/content/www/us/en/developer/tools/oneapi/mpi-library.html)),
54
+ macOS ([MPICH](https://www.mpich.org/) & [OpenMPI](https://www.open-mpi.org/doc/)) and
55
+ Windows ([MS MPI](https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi)).
56
+
57
+ Features that are not implemented yet include (help welcome!):
58
+ - support for non-default communicators
59
+ - support for `MPI_IN_PLACE` in `[all]gather`/`scatter` and `allreduce`
60
+ - support for `MPI_Type_create_struct` (Numpy structured arrays)
61
+ - ...
62
+
63
+ ### Hello world send/recv example:
64
+ ```python
65
+ import numba, numba_mpi, numpy
66
+
67
+ @numba.njit()
68
+ def hello():
69
+ src = numpy.array([1., 2., 3., 4., 5.])
70
+ dst_tst = numpy.empty_like(src)
71
+
72
+ if numba_mpi.rank() == 0:
73
+ numba_mpi.send(src, dest=1, tag=11)
74
+ elif numba_mpi.rank() == 1:
75
+ numba_mpi.recv(dst_tst, source=0, tag=11)
76
+
77
+ hello()
78
+ ```
79
+
80
+ ### Example comparing numba-mpi vs. mpi4py performance:
81
+
82
+ The example below compares Numba + mpi4py vs. Numba + numba-mpi performance.
83
+ The sample code estimates $\pi$ by integration of $4/(1+x^2)$ between 0 and 1
84
+ dividing the workload into `n_intervals` handled by separate MPI processes
85
+ and then obtaining a sum using `allreduce`.
86
+ The computation is carried out in a JIT-compiled function and is repeated
87
+ `N_TIMES`, the repetitions and the MPI-handled reduction are done outside or
88
+ inside of the JIT-compiled block for mpi4py and numba-mpi, respectively.
89
+ Timing is repeated `N_REPEAT` times and the minimum time is reported.
90
+ The generated plot shown below depicts the speedup obtained by replacing mpi4py
91
+ with numba_mpi as a function of `n_intervals` - the more often communication
92
+ is needed (smaller `n_intervals`), the larger the expected speedup.
93
+
94
+ ```python
95
+ import timeit, mpi4py, numba, numpy as np, numba_mpi
96
+
97
+ N_TIMES = 10000
98
+ N_REPEAT = 10
99
+ RTOL = 1e-3
100
+
101
+ @numba.njit
102
+ def get_pi_part(out, n_intervals, rank, size):
103
+ h = 1 / n_intervals
104
+ partial_sum = 0.0
105
+ for i in range(rank + 1, n_intervals, size):
106
+ x = h * (i - 0.5)
107
+ partial_sum += 4 / (1 + x**2)
108
+ out[0] = h * partial_sum
109
+
110
+ @numba.njit
111
+ def pi_numba_mpi(n_intervals):
112
+ pi = np.array([0.])
113
+ part = np.empty_like(pi)
114
+ for _ in range(N_TIMES):
115
+ get_pi_part(part, n_intervals, numba_mpi.rank(), numba_mpi.size())
116
+ numba_mpi.allreduce(part, pi, numba_mpi.Operator.SUM)
117
+ assert abs(pi[0] - np.pi) / np.pi < RTOL
118
+
119
+ def pi_mpi4py(n_intervals):
120
+ pi = np.array([0.])
121
+ part = np.empty_like(pi)
122
+ for _ in range(N_TIMES):
123
+ get_pi_part(part, n_intervals, mpi4py.MPI.COMM_WORLD.rank, mpi4py.MPI.COMM_WORLD.size)
124
+ mpi4py.MPI.COMM_WORLD.Allreduce(part, (pi, mpi4py.MPI.DOUBLE), op=mpi4py.MPI.SUM)
125
+ assert abs(pi[0] - np.pi) / np.pi < RTOL
126
+
127
+ plot_x = [1000 * k for k in range(1, 11)]
128
+ plot_y = {'numba_mpi': [], 'mpi4py': []}
129
+ for n_intervals in plot_x:
130
+ for impl in plot_y:
131
+ plot_y[impl].append(min(timeit.repeat(
132
+ f"pi_{impl}({n_intervals})",
133
+ globals=locals(),
134
+ number=1,
135
+ repeat=N_REPEAT
136
+ )))
137
+
138
+ if numba_mpi.rank() == 0:
139
+ from matplotlib import pyplot
140
+ pyplot.figure(figsize=(8.3, 3.5), tight_layout=True)
141
+ pyplot.plot(plot_x, np.array(plot_y['mpi4py'])/np.array(plot_y['numba_mpi']), marker='o')
142
+ pyplot.xlabel('n_intervals (workload in between communication)')
143
+ pyplot.ylabel('wall time ratio (mpi4py / numba_mpi)')
144
+ pyplot.title(f'mpiexec -np {numba_mpi.size()}')
145
+ pyplot.grid()
146
+ pyplot.savefig('readme_plot.png')
147
+ ```
148
+
149
+ ![plot](https://github.com/numba-mpi/numba-mpi/releases/download/tip/readme_plot.png)
150
+
151
+
152
+ ### MPI resources on the web:
153
+
154
+ - MPI standard and general information:
155
+ - https://www.mpi-forum.org/docs
156
+ - https://en.wikipedia.org/wiki/Message_Passing_Interface
157
+ - MPI implementations:
158
+ - OpenMPI: https://www.open-mpi.org
159
+ - MPICH: https://www.mpich.org
160
+ - MS MPI: https://learn.microsoft.com/en-us/message-passing-interface
161
+ - Intel MPI: https://intel.com/content/www/us/en/developer/tools/oneapi/mpi-library-documentation.html
162
+ - MPI bindings:
163
+ - Python: https://mpi4py.readthedocs.io
164
+ - Julia: https://juliaparallel.org/MPI.jl
165
+ - Rust: https://docs.rs/mpi
166
+ - C++: https://boost.org/doc/html/mpi.html
167
+ - R: https://cran.r-project.org/web/packages/Rmpi
168
+
169
+ ### Acknowledgements:
170
+
171
+ Development of numba-mpi has been supported by the [Polish National Science Centre](https://ncn.gov.pl/en) (grant no. 2020/39/D/ST10/01220).
172
+
@@ -0,0 +1,23 @@
1
+ numba_mpi/__init__.py,sha256=mpW16BzokTCNGHClW6K4qGvMIRqPrw0K2OHNSCSml5Y,781
2
+ numba_mpi/common.py,sha256=2JJoUrd3Qa6GIFk6Zlt2NudS7ZurPxpVwBLRGSkCg5E,2266
3
+ numba_mpi/utils.py,sha256=gfGFuzmGgs4FnBqzPI91ftAq4UHgXb_HFkvxrVWkcIo,1866
4
+ numba_mpi/api/__init__.py,sha256=Zj5df4lWeGpxAXV8jKGFnmtLBQ50HwNU8dPf-os06X8,51
5
+ numba_mpi/api/allreduce.py,sha256=szS7YzrQ5a90LlKDiefyxVEiAXnsHbni5g2M1of0TmE,3261
6
+ numba_mpi/api/barrier.py,sha256=9VSJPBC4V0H-xo47uzlT8Hp4xmQhTNLxg5bAcX3Y03g,461
7
+ numba_mpi/api/bcast.py,sha256=8SsYFj9qRjx4l3Q9367JMZd469izlf4if1qusuYILqU,1843
8
+ numba_mpi/api/initialized.py,sha256=fFmhOGl2GkwS9UvPetXy4YrgE4xhMVsyx7Ac8QP0530,479
9
+ numba_mpi/api/irecv.py,sha256=r4JvE7JJPN_hFpS79-idYL3dtp8tR0y0VoIRuHJ29lM,1120
10
+ numba_mpi/api/isend.py,sha256=2mpP4FhMk0GrikjDluKwRnpVywdLj9RD4HVVEMSj9A8,1080
11
+ numba_mpi/api/operator.py,sha256=3VTPZAdOP05bxdqt3lA0hRDICM-iaBMa4m-krEdO91s,342
12
+ numba_mpi/api/rank.py,sha256=pqayxw-5QDJ7VJ3gKrvuu1G0sBlYEZt1juhnaDi_JD8,549
13
+ numba_mpi/api/recv.py,sha256=YsYK-q7PNfi3zt0ftVddM363VsnJ4XFfmgMq8aeCr-o,1260
14
+ numba_mpi/api/requests.py,sha256=oDe85ZQ4xFbHWlNdrDhqVLvCkcQHs_9upUf3ms8x58k,8300
15
+ numba_mpi/api/scatter_gather.py,sha256=goZn4BxMKakWQHjfXIOdjzK3DJ-lTeaiQQwgnyQeZ_s,2410
16
+ numba_mpi/api/send.py,sha256=jn1hPw0YHBHOaeJop_ZbjaBChaqgfw3nM1xGhW9sabI,909
17
+ numba_mpi/api/size.py,sha256=fYLeUrygvz_XcxIDsLiZlMtS-aiWfp58Zi7aIOAgaj8,549
18
+ numba_mpi/api/wtime.py,sha256=qrTqlefW7K7hqnAQKkGYm8kgdiRGuSAGiHmPcTrhLzE,279
19
+ numba_mpi-0.41.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
+ numba_mpi-0.41.dist-info/METADATA,sha256=4POxiWzQaU7S3NeU8b_GKcog4H6OBjvvV62h-nPHj5I,8147
21
+ numba_mpi-0.41.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
22
+ numba_mpi-0.41.dist-info/top_level.txt,sha256=yb_ktLmrfuhOZS0rjS81FFNC-gK_4c19WbLG2ViP73g,10
23
+ numba_mpi-0.41.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.41.3)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,63 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: numba-mpi
3
- Version: 0.39
4
- Summary: Numba @njittable MPI wrappers tested on Linux, macOS and Windows
5
- Home-page: https://github.com/numba-mpi/numba-mpi
6
- Author: https://github.com/numba-mpi/numba-mpi/graphs/contributors
7
- License: GPL v3
8
- Project-URL: Tracker, https://github.com/numba-mpi/numba-mpi/issues
9
- Project-URL: Documentation, https://numba-mpi.github.io/numba-mpi
10
- Project-URL: Source, https://github.com/numba-mpi/numba-mpi
11
- Description-Content-Type: text/markdown
12
- License-File: LICENSE
13
- Requires-Dist: numba
14
- Requires-Dist: numpy
15
- Requires-Dist: mpi4py
16
- Requires-Dist: psutil
17
-
18
- # <img src="https://raw.githubusercontent.com/numba-mpi/numba-mpi/main/.github/numba_mpi_logo.svg" style="height:50pt" alt="numba-mpi logo"> numba-mpi
19
-
20
- [![Python 3](https://img.shields.io/static/v1?label=Python&logo=Python&color=3776AB&message=3)](https://www.python.org/)
21
- [![LLVM](https://img.shields.io/static/v1?label=LLVM&logo=LLVM&color=gold&message=Numba)](https://numba.pydata.org)
22
- [![Linux OK](https://img.shields.io/static/v1?label=Linux&logo=Linux&color=yellow&message=%E2%9C%93)](https://en.wikipedia.org/wiki/Linux)
23
- [![macOS OK](https://img.shields.io/static/v1?label=macOS&logo=Apple&color=silver&message=%E2%9C%93)](https://en.wikipedia.org/wiki/macOS)
24
- [![Windows OK](https://img.shields.io/static/v1?label=Windows&logo=Windows&color=white&message=%E2%9C%93)](https://en.wikipedia.org/wiki/Windows)
25
- [![Github Actions Status](https://github.com/numba-mpi/numba-mpi/workflows/tests+pypi/badge.svg?branch=main)](https://github.com/numba-mpi/numba-mpi/actions/workflows/tests+pypi.yml)
26
- [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/numba-mpi/numba-mpi/graphs/commit-activity)
27
- [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.html)
28
- [![PyPI version](https://badge.fury.io/py/numba-mpi.svg)](https://pypi.org/project/numba-mpi)
29
- [![Anaconda-Server Badge](https://anaconda.org/conda-forge/numba-mpi/badges/version.svg)](https://anaconda.org/conda-forge/numba-mpi)
30
- [![DOI](https://zenodo.org/badge/316911228.svg)](https://zenodo.org/badge/latestdoi/316911228)
31
-
32
- #### Numba @njittable MPI wrappers
33
- - covering: `size`/`rank`, `send`/`recv`, `allreduce`, `bcast`, `scatter`/`gather` & `allgather`, `barrier` and `wtime`
34
- - basic asynchronous communication with `isend`/`irecv` (only for contiguous arrays); for request handling including `wait`/`waitall`/`waitany` and `test`/`testall`/`testany`
35
- - not yet implemented: support for non-default communicators, ...
36
- - API based on NumPy and supporting numeric and character datatypes
37
- - auto-generated docstring-based API docs on the web: https://numba-mpi.github.io/numba-mpi
38
- - pure-Python implementation with packages available on [PyPI](https://pypi.org/project/numba-mpi) and [Conda Forge](https://anaconda.org/conda-forge/numba-mpi)
39
- - CI-tested on: Linux ([MPICH](https://www.mpich.org/), [OpenMPI](https://www.open-mpi.org/doc/) & [Intel MPI](https://www.intel.com/content/www/us/en/developer/tools/oneapi/mpi-library.html)), macOS ([MPICH](https://www.mpich.org/) & [OpenMPI](https://www.open-mpi.org/doc/)) and Windows ([MS MPI](https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi))
40
-
41
- Hello world example:
42
- ```python
43
- import numba, numba_mpi, numpy
44
-
45
- @numba.njit()
46
- def hello():
47
- print(numba_mpi.rank())
48
- print(numba_mpi.size())
49
-
50
- src = numpy.array([1., 2., 3., 4., 5.])
51
- dst_tst = numpy.empty_like(src)
52
-
53
- if numba_mpi.rank() == 0:
54
- numba_mpi.send(src, dest=1, tag=11)
55
- elif numba_mpi.rank() == 1:
56
- numba_mpi.recv(dst_tst, source=0, tag=11)
57
-
58
- hello()
59
- ```
60
-
61
- For information on MPI, see:
62
- - https://www.mpi-forum.org/docs/
63
- - https://mpi4py.readthedocs.io/en/stable/
@@ -1,23 +0,0 @@
1
- numba_mpi/__init__.py,sha256=n-VBILP4-db2BSUZdY3Zjj3S7cI6WLTrL_50WidR-kY,837
2
- numba_mpi/common.py,sha256=iruYUm_sj0i0lc0TuqV4Uzco9NekPu1TRQiUgSRI-8A,2265
3
- numba_mpi/utils.py,sha256=Jrylrung352e7Q5DwtHTkFRupPtGfJ25TzzQuODZ-0E,1865
4
- numba_mpi/api/__init__.py,sha256=Zj5df4lWeGpxAXV8jKGFnmtLBQ50HwNU8dPf-os06X8,51
5
- numba_mpi/api/allreduce.py,sha256=aBtQJ3V_psLQRtnMUh6UR7PgAbUYvpRxtKVH2HZK1sw,3260
6
- numba_mpi/api/barrier.py,sha256=rrmeFF6ko8zJdgCTJyW2Q_hknyeNil2CpUkRp2hxONo,460
7
- numba_mpi/api/bcast.py,sha256=9fJShIyDEbTu3CuseFR5GWroRLNFSPcptUCFVFezwVQ,1842
8
- numba_mpi/api/initialized.py,sha256=8jJEEziDOejwKiyUqM2mvRk18kz7a85dlZoii7Qg37s,478
9
- numba_mpi/api/irecv.py,sha256=r4JvE7JJPN_hFpS79-idYL3dtp8tR0y0VoIRuHJ29lM,1120
10
- numba_mpi/api/isend.py,sha256=2mpP4FhMk0GrikjDluKwRnpVywdLj9RD4HVVEMSj9A8,1080
11
- numba_mpi/api/operator.py,sha256=2cl_5qJwv28Kk1TPheWWbNv6EQtH4g6byEPpoj5Jl5w,341
12
- numba_mpi/api/rank.py,sha256=nTvnkuq5Dum8zcGs-_7Bl7CK4ZDAaOy4t5Ub7L56OdA,548
13
- numba_mpi/api/recv.py,sha256=NjCwMtI7OAslUMholMW6j9VN1sjbIpkn8jJ8rtDB8v4,1259
14
- numba_mpi/api/requests.py,sha256=rZ6Nbtswyrz2erwTCFgdFGmzagUpcDpFNV0QE1ij0Rw,8299
15
- numba_mpi/api/scatter_gather.py,sha256=5N_b4PnmZ1Czh8jq4tMS_fKojEo9qA3twTxcZz8OBh0,2409
16
- numba_mpi/api/send.py,sha256=bFt-nef-mjJzE47fN9mcj1Web3Jpd9PFfvwzlbaVtXc,908
17
- numba_mpi/api/size.py,sha256=8GvCXY4CkrxPlq8bMM6pzp0bpeQX2ENz5u3pHypnCo0,548
18
- numba_mpi/api/wtime.py,sha256=hSfHFHRuIB_jjqFgEyaOfoAqw79Js87MIRvrSsolW2o,278
19
- numba_mpi-0.39.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
- numba_mpi-0.39.dist-info/METADATA,sha256=JJxnMPGunSrEK0G2a-yMpZWGYMIeB0mFdN06KlUHrhA,3757
21
- numba_mpi-0.39.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
22
- numba_mpi-0.39.dist-info/top_level.txt,sha256=yb_ktLmrfuhOZS0rjS81FFNC-gK_4c19WbLG2ViP73g,10
23
- numba_mpi-0.39.dist-info/RECORD,,