numba-cuda 0.2.0__py3-none-any.whl → 0.4.0__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.
@@ -1,47 +1,22 @@
1
1
  import re
2
- import gc
2
+ import os
3
+
3
4
  import numpy as np
4
5
  import unittest
5
- from unittest.mock import patch
6
- from numba.core.runtime import rtsys
7
- from numba.tests.support import EnableNRTStatsMixin
8
6
  from numba.cuda.testing import CUDATestCase
9
7
 
10
- from .mock_numpy import cuda_empty
8
+ from numba.cuda.tests.nrt.mock_numpy import cuda_empty, cuda_ones, cuda_arange
9
+ from numba.tests.support import run_in_subprocess, override_config
11
10
 
12
11
  from numba import cuda
13
-
14
-
15
- class TestNrtRefCt(EnableNRTStatsMixin, CUDATestCase):
16
-
17
- def setUp(self):
18
- # Clean up any NRT-backed objects hanging in a dead reference cycle
19
- gc.collect()
20
- super(TestNrtRefCt, self).setUp()
21
-
22
- @unittest.expectedFailure
23
- def test_no_return(self):
24
- """
25
- Test issue #1291
26
- """
27
- n = 10
28
-
29
- @cuda.jit
30
- def kernel():
31
- for i in range(n):
32
- temp = cuda_empty(2, np.float64) # noqa: F841
33
- return None
34
-
35
- init_stats = rtsys.get_allocation_stats()
36
-
37
- with patch('numba.config.CUDA_ENABLE_NRT', True, create=True):
38
- kernel[1,1]()
39
- cur_stats = rtsys.get_allocation_stats()
40
- self.assertEqual(cur_stats.alloc - init_stats.alloc, n)
41
- self.assertEqual(cur_stats.free - init_stats.free, n)
12
+ from numba.cuda.runtime.nrt import rtsys
42
13
 
43
14
 
44
15
  class TestNrtBasic(CUDATestCase):
16
+ def run(self, result=None):
17
+ with override_config("CUDA_ENABLE_NRT", True):
18
+ super(TestNrtBasic, self).run(result)
19
+
45
20
  def test_nrt_launches(self):
46
21
  @cuda.jit
47
22
  def f(x):
@@ -52,8 +27,7 @@ class TestNrtBasic(CUDATestCase):
52
27
  x = cuda_empty(10, np.int64)
53
28
  f(x)
54
29
 
55
- with patch('numba.config.CUDA_ENABLE_NRT', True, create=True):
56
- g[1,1]()
30
+ g[1,1]()
57
31
  cuda.synchronize()
58
32
 
59
33
  def test_nrt_ptx_contains_refcount(self):
@@ -66,8 +40,7 @@ class TestNrtBasic(CUDATestCase):
66
40
  x = cuda_empty(10, np.int64)
67
41
  f(x)
68
42
 
69
- with patch('numba.config.CUDA_ENABLE_NRT', True, create=True):
70
- g[1,1]()
43
+ g[1,1]()
71
44
 
72
45
  ptx = next(iter(g.inspect_asm().values()))
73
46
 
@@ -100,11 +73,160 @@ class TestNrtBasic(CUDATestCase):
100
73
 
101
74
  out_ary = np.zeros(1, dtype=np.int64)
102
75
 
103
- with patch('numba.config.CUDA_ENABLE_NRT', True, create=True):
104
- g[1,1](out_ary)
76
+ g[1,1](out_ary)
105
77
 
106
78
  self.assertEqual(out_ary[0], 1)
107
79
 
108
80
 
81
+ class TestNrtStatistics(CUDATestCase):
82
+
83
+ def setUp(self):
84
+ self._stream = cuda.default_stream()
85
+ # Store the current stats state
86
+ self.__stats_state = rtsys.memsys_stats_enabled(self._stream)
87
+
88
+ def tearDown(self):
89
+ # Set stats state back to whatever it was before the test ran
90
+ if self.__stats_state:
91
+ rtsys.memsys_enable_stats(self._stream)
92
+ else:
93
+ rtsys.memsys_disable_stats(self._stream)
94
+
95
+ def test_stats_env_var_explicit_on(self):
96
+ # Checks that explicitly turning the stats on via the env var works.
97
+ src = """if 1:
98
+ from numba import cuda
99
+ from numba.cuda.runtime import rtsys
100
+ from numba.cuda.tests.nrt.mock_numpy import cuda_arange
101
+
102
+ @cuda.jit
103
+ def foo():
104
+ x = cuda_arange(10)[0]
105
+
106
+ # initialize the NRT before use
107
+ rtsys.initialize()
108
+ assert rtsys.memsys_stats_enabled(), "Stats not enabled"
109
+ orig_stats = rtsys.get_allocation_stats()
110
+ foo[1, 1]()
111
+ new_stats = rtsys.get_allocation_stats()
112
+ total_alloc = new_stats.alloc - orig_stats.alloc
113
+ total_free = new_stats.free - orig_stats.free
114
+ total_mi_alloc = new_stats.mi_alloc - orig_stats.mi_alloc
115
+ total_mi_free = new_stats.mi_free - orig_stats.mi_free
116
+
117
+ expected = 1
118
+ assert total_alloc == expected, \\
119
+ f"total_alloc != expected, {total_alloc} != {expected}"
120
+ assert total_free == expected, \\
121
+ f"total_free != expected, {total_free} != {expected}"
122
+ assert total_mi_alloc == expected, \\
123
+ f"total_mi_alloc != expected, {total_mi_alloc} != {expected}"
124
+ assert total_mi_free == expected, \\
125
+ f"total_mi_free != expected, {total_mi_free} != {expected}"
126
+ """
127
+
128
+ # Check env var explicitly being set works
129
+ env = os.environ.copy()
130
+ env['NUMBA_CUDA_NRT_STATS'] = "1"
131
+ env['NUMBA_CUDA_ENABLE_NRT'] = "1"
132
+ run_in_subprocess(src, env=env)
133
+
134
+ def check_env_var_off(self, env):
135
+
136
+ src = """if 1:
137
+ from numba import cuda
138
+ import numpy as np
139
+ from numba.cuda.runtime import rtsys
140
+
141
+ @cuda.jit
142
+ def foo():
143
+ arr = np.arange(10)[0]
144
+
145
+ assert rtsys.memsys_stats_enabled() == False
146
+ try:
147
+ rtsys.get_allocation_stats()
148
+ except RuntimeError as e:
149
+ assert "NRT stats are disabled." in str(e)
150
+ """
151
+ run_in_subprocess(src, env=env)
152
+
153
+ def test_stats_env_var_explicit_off(self):
154
+ # Checks that explicitly turning the stats off via the env var works.
155
+ env = os.environ.copy()
156
+ env['NUMBA_CUDA_NRT_STATS'] = "0"
157
+ self.check_env_var_off(env)
158
+
159
+ def test_stats_env_var_default_off(self):
160
+ # Checks that the env var not being set is the same as "off", i.e.
161
+ # default for Numba is off.
162
+ env = os.environ.copy()
163
+ env.pop('NUMBA_CUDA_NRT_STATS', None)
164
+ self.check_env_var_off(env)
165
+
166
+ def test_stats_status_toggle(self):
167
+
168
+ @cuda.jit
169
+ def foo():
170
+ tmp = cuda_ones(3)
171
+ arr = cuda_arange(5 * tmp[0]) # noqa: F841
172
+ return None
173
+
174
+ with override_config('CUDA_ENABLE_NRT', True):
175
+ # Switch on stats
176
+ rtsys.memsys_enable_stats()
177
+ # check the stats are on
178
+ self.assertTrue(rtsys.memsys_stats_enabled())
179
+
180
+ for i in range(2):
181
+ # capture the stats state
182
+ stats_1 = rtsys.get_allocation_stats()
183
+ # Switch off stats
184
+ rtsys.memsys_disable_stats()
185
+ # check the stats are off
186
+ self.assertFalse(rtsys.memsys_stats_enabled())
187
+ # run something that would move the counters were they enabled
188
+ foo[1, 1]()
189
+ # Switch on stats
190
+ rtsys.memsys_enable_stats()
191
+ # check the stats are on
192
+ self.assertTrue(rtsys.memsys_stats_enabled())
193
+ # capture the stats state (should not have changed)
194
+ stats_2 = rtsys.get_allocation_stats()
195
+ # run something that will move the counters
196
+ foo[1, 1]()
197
+ # capture the stats state (should have changed)
198
+ stats_3 = rtsys.get_allocation_stats()
199
+ # check stats_1 == stats_2
200
+ self.assertEqual(stats_1, stats_2)
201
+ # check stats_2 < stats_3
202
+ self.assertLess(stats_2, stats_3)
203
+
204
+ def test_rtsys_stats_query_raises_exception_when_disabled(self):
205
+ # Checks that the standard rtsys.get_allocation_stats() query raises
206
+ # when stats counters are turned off.
207
+
208
+ rtsys.memsys_disable_stats()
209
+ self.assertFalse(rtsys.memsys_stats_enabled())
210
+
211
+ with self.assertRaises(RuntimeError) as raises:
212
+ rtsys.get_allocation_stats()
213
+
214
+ self.assertIn("NRT stats are disabled.", str(raises.exception))
215
+
216
+ def test_nrt_explicit_stats_query_raises_exception_when_disabled(self):
217
+ # Checks the various memsys_get_stats functions raise if queried when
218
+ # the stats counters are disabled.
219
+ method_variations = ('alloc', 'free', 'mi_alloc', 'mi_free')
220
+ for meth in method_variations:
221
+ stats_func = getattr(rtsys, f'memsys_get_stats_{meth}')
222
+ with self.subTest(stats_func=stats_func):
223
+ # Turn stats off
224
+ rtsys.memsys_disable_stats()
225
+ self.assertFalse(rtsys.memsys_stats_enabled())
226
+ with self.assertRaises(RuntimeError) as raises:
227
+ stats_func()
228
+ self.assertIn("NRT stats are disabled.", str(raises.exception))
229
+
230
+
109
231
  if __name__ == '__main__':
110
232
  unittest.main()
@@ -0,0 +1,114 @@
1
+ import numpy as np
2
+ import unittest
3
+ from numba.tests.support import override_config
4
+ from numba.cuda.runtime import rtsys
5
+ from numba.cuda.tests.support import EnableNRTStatsMixin
6
+ from numba.cuda.testing import CUDATestCase
7
+ from numba.cuda.tests.nrt.mock_numpy import cuda_empty, cuda_empty_like
8
+
9
+ from numba import cuda
10
+
11
+
12
+ class TestNrtRefCt(EnableNRTStatsMixin, CUDATestCase):
13
+
14
+ def setUp(self):
15
+ super(TestNrtRefCt, self).setUp()
16
+
17
+ def tearDown(self):
18
+ super(TestNrtRefCt, self).tearDown()
19
+
20
+ def run(self, result=None):
21
+ with override_config("CUDA_ENABLE_NRT", True):
22
+ super(TestNrtRefCt, self).run(result)
23
+
24
+ def test_no_return(self):
25
+ """
26
+ Test issue #1291
27
+ """
28
+
29
+ n = 10
30
+
31
+ @cuda.jit
32
+ def kernel():
33
+ for i in range(n):
34
+ temp = cuda_empty(2, np.float64) # noqa: F841
35
+ return None
36
+
37
+ init_stats = rtsys.get_allocation_stats()
38
+ kernel[1, 1]()
39
+ cur_stats = rtsys.get_allocation_stats()
40
+ self.assertEqual(cur_stats.alloc - init_stats.alloc, n)
41
+ self.assertEqual(cur_stats.free - init_stats.free, n)
42
+
43
+ def test_escaping_var_init_in_loop(self):
44
+ """
45
+ Test issue #1297
46
+ """
47
+
48
+ @cuda.jit
49
+ def g(n):
50
+
51
+ x = cuda_empty((n, 2), np.float64)
52
+
53
+ for i in range(n):
54
+ y = x[i]
55
+
56
+ for i in range(n):
57
+ y = x[i] # noqa: F841
58
+
59
+ return None
60
+
61
+ init_stats = rtsys.get_allocation_stats()
62
+ g[1, 1](10)
63
+ cur_stats = rtsys.get_allocation_stats()
64
+ self.assertEqual(cur_stats.alloc - init_stats.alloc, 1)
65
+ self.assertEqual(cur_stats.free - init_stats.free, 1)
66
+
67
+ def test_invalid_computation_of_lifetime(self):
68
+ """
69
+ Test issue #1573
70
+ """
71
+ @cuda.jit
72
+ def if_with_allocation_and_initialization(arr1, test1):
73
+ tmp_arr = cuda_empty_like(arr1)
74
+
75
+ for i in range(tmp_arr.shape[0]):
76
+ pass
77
+
78
+ if test1:
79
+ cuda_empty_like(arr1)
80
+
81
+ arr = np.random.random((5, 5)) # the values are not consumed
82
+
83
+ init_stats = rtsys.get_allocation_stats()
84
+ if_with_allocation_and_initialization[1, 1](arr, False)
85
+ cur_stats = rtsys.get_allocation_stats()
86
+ self.assertEqual(cur_stats.alloc - init_stats.alloc,
87
+ cur_stats.free - init_stats.free)
88
+
89
+ def test_del_at_beginning_of_loop(self):
90
+ """
91
+ Test issue #1734
92
+ """
93
+ @cuda.jit
94
+ def f(arr):
95
+ res = 0
96
+
97
+ for i in (0, 1):
98
+ # `del t` is issued here before defining t. It must be
99
+ # correctly handled by the lowering phase.
100
+ t = arr[i]
101
+ if t[i] > 1:
102
+ res += t[i]
103
+
104
+ arr = np.ones((2, 2))
105
+
106
+ init_stats = rtsys.get_allocation_stats()
107
+ f[1, 1](arr)
108
+ cur_stats = rtsys.get_allocation_stats()
109
+ self.assertEqual(cur_stats.alloc - init_stats.alloc,
110
+ cur_stats.free - init_stats.free)
111
+
112
+
113
+ if __name__ == '__main__':
114
+ unittest.main()
@@ -0,0 +1,11 @@
1
+ from numba.cuda.runtime.nrt import rtsys
2
+
3
+
4
+ class EnableNRTStatsMixin(object):
5
+ """Mixin to enable the NRT statistics counters."""
6
+
7
+ def setUp(self):
8
+ rtsys.memsys_enable_stats()
9
+
10
+ def tearDown(self):
11
+ rtsys.memsys_disable_stats()
@@ -0,0 +1,22 @@
1
+ import os
2
+ import warnings
3
+ import traceback
4
+
5
+
6
+ def _readenv(name, ctor, default):
7
+ value = os.environ.get(name)
8
+ if value is None:
9
+ return default() if callable(default) else default
10
+ try:
11
+ if ctor is bool:
12
+ return value.lower() in {'1', "true"}
13
+ return ctor(value)
14
+ except Exception:
15
+ warnings.warn(
16
+ f"Environment variable '{name}' is defined but its associated "
17
+ f"value '{value}' could not be parsed.\n"
18
+ "The parse failed with exception:\n"
19
+ f"{traceback.format_exc()}",
20
+ RuntimeWarning
21
+ )
22
+ return default
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: numba-cuda
3
- Version: 0.2.0
3
+ Version: 0.4.0
4
4
  Summary: CUDA target for Numba
5
5
  Author: Anaconda Inc., NVIDIA Corporation
6
6
  License: BSD 2-clause
@@ -1,6 +1,6 @@
1
1
  _numba_cuda_redirector.pth,sha256=cmfMMmV0JPh3yEpl4bGeM9AuXiVVMSo6Z_b7RaQL3XE,30
2
2
  _numba_cuda_redirector.py,sha256=QKJmYICSQvjvph0Zw9OW015MsuKxIF28GPFjR35AXLM,2681
3
- numba_cuda/VERSION,sha256=H5MN0fEzwfl6lP46y42zQ3LPTAH_2ys_9Mpy-UlBIek,6
3
+ numba_cuda/VERSION,sha256=QLjrQACpE6d5EJBTXykdPTaYdBYqie88nj1OiHobnnk,6
4
4
  numba_cuda/__init__.py,sha256=atXeUvJKR3JHcAiCFbXCVOJQUHgB1TulmsqSL_9RT3Q,114
5
5
  numba_cuda/_version.py,sha256=jbdUsbR7sVllw0KxQNB0-FMd929CGg3kH2fhHdrlkuc,719
6
6
  numba_cuda/numba/cuda/__init__.py,sha256=idyVHOObC9lTYnp62v7rVprSacRM4d5F6vhXfG5ElTI,621
@@ -21,7 +21,7 @@ numba_cuda/numba/cuda/decorators.py,sha256=qSpir16-jPYSe2YuRZ6g9INeobmsMNg6ab9IZ
21
21
  numba_cuda/numba/cuda/descriptor.py,sha256=rNMaurJkjNjIBmHPozDoLC35DMURE0fn_LtnXRmaG_w,985
22
22
  numba_cuda/numba/cuda/device_init.py,sha256=lP79tCsQ0Np9xcbjv_lXcH4JOiVZvV8nwg3INdETxsc,3586
23
23
  numba_cuda/numba/cuda/deviceufunc.py,sha256=yxAH71dpgJWK8okmCJm0FUV6z2AqdThCYOTZspT7z0M,30775
24
- numba_cuda/numba/cuda/dispatcher.py,sha256=nDfPCzxJ7UwA4uiz-fsMMgQb2WXByvzHLtkLMXW9JXk,41244
24
+ numba_cuda/numba/cuda/dispatcher.py,sha256=cJH7Jm-U26PyU-M2Igevar_Q_c_k9R-A99InnRGPzX0,42444
25
25
  numba_cuda/numba/cuda/errors.py,sha256=XwWHzCllx0DXU6BQdoRH0m3pznGxnTFOBTVYXMmCfqg,1724
26
26
  numba_cuda/numba/cuda/extending.py,sha256=URsyBYls2te-mgE0yvDY6akvawYCA0blBFfD7Lf9DO4,142
27
27
  numba_cuda/numba/cuda/initialize.py,sha256=TQGHGLQoq4ch4J6CLDcJdGsZzXM-g2kDgdyO1u-Rbhg,546
@@ -36,18 +36,20 @@ numba_cuda/numba/cuda/models.py,sha256=2c_seT-cWX-VyWYmcapaqOEl1M4FX6_kdIOusj4s5
36
36
  numba_cuda/numba/cuda/nvvmutils.py,sha256=W1zr1TpnmFjTkHF0qeu5wnBHub6gzrnpzsvgmu2OLcU,8295
37
37
  numba_cuda/numba/cuda/printimpl.py,sha256=Y1BCQ7EgO2wQ7O6LibNVYBG3tmjVTvmURATW403rLao,3504
38
38
  numba_cuda/numba/cuda/random.py,sha256=khX8iDdde_RTUPWhAqrxZacHRQAorFr7BokPuxRWzrg,10456
39
+ numba_cuda/numba/cuda/reshape_funcs.cu,sha256=H5UAa-VAvoxW9SQwJO88ZrDXC64nWALW3Ch4cHAAqO4,4325
39
40
  numba_cuda/numba/cuda/simulator_init.py,sha256=W_bPRtmPGOQVuiprbgt7ENnnnELv_LPCeLDIsfsvFZ8,460
40
41
  numba_cuda/numba/cuda/stubs.py,sha256=W3tozv4ganMnfbdFqyPjgQXYeX8GQhwx_xXgv8jk6iM,22270
41
42
  numba_cuda/numba/cuda/target.py,sha256=hBflzmxCGlmTugWT1sYhZj9f4HkQAMK2RQ9lO85pMW4,17052
42
43
  numba_cuda/numba/cuda/testing.py,sha256=E0wP2vfno1yWsl0v1zg31kpbU8FrKxTF-5y9Iv4WjA4,6412
43
44
  numba_cuda/numba/cuda/types.py,sha256=WVfjcly_VUpG9FfKueiEPzZm2NV8Hg0XAFg3bNzPdVc,1314
44
45
  numba_cuda/numba/cuda/ufuncs.py,sha256=txw27IxG80W1Yo7e-XwL2AMcQo0fMnxMjBIMy-n5pCo,23317
46
+ numba_cuda/numba/cuda/utils.py,sha256=JId22EI3KkQosW6Dafdaw43qU0xXXO_4JOENLap8klU,630
45
47
  numba_cuda/numba/cuda/vector_types.py,sha256=s18dY0IUpT-RcaBvQsa_zEbYuuL2IT0Vh6afCeccwmQ,6750
46
48
  numba_cuda/numba/cuda/vectorizers.py,sha256=u_0EzaD5tqVH8uOz4Gmqn3FgPC1rckwDAQuROm0BXm8,8915
47
49
  numba_cuda/numba/cuda/cudadrv/__init__.py,sha256=0TL4MZcJXUoo9qA7uu0vLv7eHrXRerVmyfi7O149ITw,199
48
- numba_cuda/numba/cuda/cudadrv/devicearray.py,sha256=06kM7iFcx1TYiFhs1o9r1kyoA3k5yS7mFAdZDf6nrxA,31215
50
+ numba_cuda/numba/cuda/cudadrv/devicearray.py,sha256=jsfr4LL12HWJzU3HUgzXpkk38Z-pyFyzLuGArg2G-nU,31363
49
51
  numba_cuda/numba/cuda/cudadrv/devices.py,sha256=6SneNmoq83gue0txFWWx4A65vViAa8xA06FzkApoqAk,7992
50
- numba_cuda/numba/cuda/cudadrv/driver.py,sha256=FONYaUzgexmPUIMsSq0zr_FgD9eLbWT8m1APEVrLJRo,114887
52
+ numba_cuda/numba/cuda/cudadrv/driver.py,sha256=1F-Ugsf1bdZgK-So_q_TkJckdoczlzhBrCEJn8KYxG0,114321
51
53
  numba_cuda/numba/cuda/cudadrv/drvapi.py,sha256=52ms3X6hfPaQB8E1jb6g7QKqRvHzBMlDQ-V2DM1rXxQ,17178
52
54
  numba_cuda/numba/cuda/cudadrv/dummyarray.py,sha256=nXRngdr-k3h_BNGQuJUxmp89yGNWxqEDJedpwDPEZ44,14209
53
55
  numba_cuda/numba/cuda/cudadrv/enums.py,sha256=Wy5dzukTk4TnWCowg_PLceET_v2xEyiWLu9TyH8pXr8,23742
@@ -56,14 +58,18 @@ numba_cuda/numba/cuda/cudadrv/libs.py,sha256=Gk9zQ1CKcsZsWl-_9QneXeP9VH5q5R1I3Cx
56
58
  numba_cuda/numba/cuda/cudadrv/linkable_code.py,sha256=Q_YTv0apBo9t8pkMlKrthPPSVeLd376ZTmVDF5NtVVo,1328
57
59
  numba_cuda/numba/cuda/cudadrv/mappings.py,sha256=-dTPHvAkDjdH6vS5OjgrB71AFuqKO6CRgf7hpOk2wiw,802
58
60
  numba_cuda/numba/cuda/cudadrv/ndarray.py,sha256=HtULWWFyDlgqvrH5459yyPTvU4UbUo2DSdtcNfvbH00,473
59
- numba_cuda/numba/cuda/cudadrv/nvrtc.py,sha256=RR096Ic2_Zu96C-GGh8x8WTOyxnmDkwtcwag8a_npkQ,10898
61
+ numba_cuda/numba/cuda/cudadrv/nvrtc.py,sha256=XM9_Vllv7HzH5wZIR2lwFictyX68XDtNbyLkXlL6NTI,11003
60
62
  numba_cuda/numba/cuda/cudadrv/nvvm.py,sha256=v2hJJTAQeRmoG59-hnhgMEp5BSVA73QHtEoy636VKao,24107
61
63
  numba_cuda/numba/cuda/cudadrv/rtapi.py,sha256=WdeUoWzsYNYodx8kMRLVIjnNs0QzwpCihd2Q0AaqItE,226
62
64
  numba_cuda/numba/cuda/cudadrv/runtime.py,sha256=Tj9ACrzQqNmDSO6xfpzw12EsQknSywQ-ZGuWMbDdHnQ,4255
63
65
  numba_cuda/numba/cuda/kernels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
66
  numba_cuda/numba/cuda/kernels/reduction.py,sha256=fQnaWtoNB2yp143MNbE1DujqFIYy0KV_2moQVvbaROU,9362
65
67
  numba_cuda/numba/cuda/kernels/transpose.py,sha256=5FSu-nbTfhintxwfU-bjT2px2otQF5QkKH-JPDDWq_k,2061
66
- numba_cuda/numba/cuda/runtime/nrt.cu,sha256=i8Xcf-x84n3uNPzs_xak4c_sLHOH91ast2aE6DKKf9Q,5497
68
+ numba_cuda/numba/cuda/runtime/__init__.py,sha256=rDi_pA5HnwpuwT8wwy0hparfO7HWgfjLVj9htbk_tCg,54
69
+ numba_cuda/numba/cuda/runtime/memsys.cu,sha256=5nTXrstrUBVLeLvnDUReyhRGvVILK--VdM1u3oUCa2o,2386
70
+ numba_cuda/numba/cuda/runtime/memsys.cuh,sha256=4oDvs7LvcMmdkN58b8e0nBqPka_sdagoULSKRut74DY,503
71
+ numba_cuda/numba/cuda/runtime/nrt.cu,sha256=WB7jQxT1bLdkY6Tm7-_ytVLjJxK4iU0OFifbPIpLwvw,5403
72
+ numba_cuda/numba/cuda/runtime/nrt.py,sha256=pmacryGZn25IHjdRMwT2vZipdtu0xsjpPDic_hlRxkA,9195
67
73
  numba_cuda/numba/cuda/simulator/__init__.py,sha256=crW0VQ_8e7DMRSHKoAIziZ37ea5mpbh_49tR9M3d5YY,1610
68
74
  numba_cuda/numba/cuda/simulator/api.py,sha256=K_fX-w9X4grGx2IAp0XlBW9rth5l7wibMwinQvkE7Jc,3237
69
75
  numba_cuda/numba/cuda/simulator/compiler.py,sha256=eXnvmzSKzIZZzBz6ZFJ-vMNyRAgqbCiB-AO5IJXuUyM,232
@@ -81,7 +87,8 @@ numba_cuda/numba/cuda/simulator/cudadrv/error.py,sha256=ACSQ7ZvhuCHnvV4GmvRuKWZ5
81
87
  numba_cuda/numba/cuda/simulator/cudadrv/libs.py,sha256=ry5rerpZrnAy70LU_YBa1KNaqKBGLHE9cMxljdSzaik,101
82
88
  numba_cuda/numba/cuda/simulator/cudadrv/nvvm.py,sha256=vIFQi4ewYXyzUYssfw78QLfoZmoVgloFCLTk55Gg1tw,474
83
89
  numba_cuda/numba/cuda/simulator/cudadrv/runtime.py,sha256=K63p7puZJZD3BQ6ZT0qoII_Z3xJiUckp2dhozFjrnEs,358
84
- numba_cuda/numba/cuda/tests/__init__.py,sha256=5Kh5-TtG6wclbWd_wDRIvtQG4O4McmqMpyNihl2nORM,2347
90
+ numba_cuda/numba/cuda/tests/__init__.py,sha256=4U2RJuURN6SazAUSEtVofVEtahN3dDfUYNyDCmu64zo,2421
91
+ numba_cuda/numba/cuda/tests/support.py,sha256=1og4VLrK2x2LF5m5ARrrHVe-JhYx9Gv9ODKt6-8r6Aw,253
85
92
  numba_cuda/numba/cuda/tests/cudadrv/__init__.py,sha256=43EXdiXXRBd6yIcVGMrU9F_EJCD9Uw3mzOP3SB53AEE,260
86
93
  numba_cuda/numba/cuda/tests/cudadrv/test_array_attr.py,sha256=cjHQ0J6F8APrLm23ZCFr0S7dtQmLqwq9vxMoI5lyn68,5300
87
94
  numba_cuda/numba/cuda/tests/cudadrv/test_context_stack.py,sha256=lSEuEM7x-x95m_lS_wSIBKnBxOhzn-AJ3WjYw8bW0y4,4492
@@ -91,7 +98,7 @@ numba_cuda/numba/cuda/tests/cudadrv/test_cuda_devicerecord.py,sha256=rikIJQ266l_
91
98
  numba_cuda/numba/cuda/tests/cudadrv/test_cuda_driver.py,sha256=y--0AZFVpp2nmbeI1jbgZsWbBP-iVEmG8WKgR9XrxKE,7663
92
99
  numba_cuda/numba/cuda/tests/cudadrv/test_cuda_libraries.py,sha256=sqNbo8pk4Zl5ptuGXrXFndia4IyttbuGnqjVTOtGuuw,801
93
100
  numba_cuda/numba/cuda/tests/cudadrv/test_cuda_memory.py,sha256=MDJMIWm1jCsBOcuwdshzqwaE__uqX0562uSjxFhud3M,6627
94
- numba_cuda/numba/cuda/tests/cudadrv/test_cuda_ndarray.py,sha256=67dmVO6v5gzp89pgb4wpxqDrWAx1UjX4vhdDQH4mebQ,20403
101
+ numba_cuda/numba/cuda/tests/cudadrv/test_cuda_ndarray.py,sha256=eWczfXXIHS0p9eNhVagzXa4XWPwmrCb_yIBuDtjgq8c,21628
95
102
  numba_cuda/numba/cuda/tests/cudadrv/test_deallocations.py,sha256=BR1ccEj_TCVToHoHS8KwwCfKLMUl6KGb92Cx6nX-XPg,8404
96
103
  numba_cuda/numba/cuda/tests/cudadrv/test_detect.py,sha256=lCt2E8gxnd8O-fRobDEwgX4jBZ15W7cImQcZc8_u2Sg,2774
97
104
  numba_cuda/numba/cuda/tests/cudadrv/test_emm_plugins.py,sha256=ah82yaWFvBfUTTSfbkZBKLsUf2tTSSJNvlSxrk1RI1E,7094
@@ -119,7 +126,7 @@ numba_cuda/numba/cuda/tests/cudapy/extensions_usecases.py,sha256=l-tW4F935zxOvKb
119
126
  numba_cuda/numba/cuda/tests/cudapy/jitlink.ptx,sha256=8D6OWUO4GnjUTqyzQc_epd7pT8fPy0_bJdkmu6Bbm4Q,521
120
127
  numba_cuda/numba/cuda/tests/cudapy/recursion_usecases.py,sha256=7Wz7i_6VVq5EeZuqkcg1dVfW9DbfC1rp44H7pe4voqI,1781
121
128
  numba_cuda/numba/cuda/tests/cudapy/test_alignment.py,sha256=dik8i4fG6MPlxVilW4l9pM5o_vBMAsRGItldeE9hvvU,1218
122
- numba_cuda/numba/cuda/tests/cudapy/test_array.py,sha256=bS6rzvp6BKVLFyW8mFRbVoZbxIbc2WCl5SzQ6XG0s8c,10515
129
+ numba_cuda/numba/cuda/tests/cudapy/test_array.py,sha256=ty1s2yiX7dump54lOQsBykRJQxzi78wrka5GbQrB1Qo,13216
123
130
  numba_cuda/numba/cuda/tests/cudapy/test_array_args.py,sha256=XTX4cT7BZexmw0BZPzeudf4OZgM6GNqzjDPyIxJyTdk,4979
124
131
  numba_cuda/numba/cuda/tests/cudapy/test_array_methods.py,sha256=shdeSAOKaoZbrvC8hXhETWH8FhyZPTmHg_TMw2DcdUA,969
125
132
  numba_cuda/numba/cuda/tests/cudapy/test_atomics.py,sha256=yQWTHQH7WPafLwNhnfOWqAskybXTw1BBwvxL5OLqEAk,58177
@@ -230,14 +237,15 @@ numba_cuda/numba/cuda/tests/nocuda/test_import.py,sha256=teiL8rpFGQOh41kyBSSNHHF
230
237
  numba_cuda/numba/cuda/tests/nocuda/test_library_lookup.py,sha256=7kJOPHEcrjy_kTA9Ym-iT_B972bgFRu3UkRtwIgWtuI,7948
231
238
  numba_cuda/numba/cuda/tests/nocuda/test_nvvm.py,sha256=n0_-xFaw6QqiZbhe55oy7lnEeOwqTvA55p5EUFiTpNw,2006
232
239
  numba_cuda/numba/cuda/tests/nrt/__init__.py,sha256=43EXdiXXRBd6yIcVGMrU9F_EJCD9Uw3mzOP3SB53AEE,260
233
- numba_cuda/numba/cuda/tests/nrt/mock_numpy.py,sha256=Qtn52GoKZ_ydre3oqkLWVdImC37tuPClUy4uHSutaJo,1568
234
- numba_cuda/numba/cuda/tests/nrt/test_nrt.py,sha256=Ox6ei2DldvSSS-CndTXRxLnsvWdteOQNgn6GvKHB244,2789
240
+ numba_cuda/numba/cuda/tests/nrt/mock_numpy.py,sha256=Cx2DGhm2bJheShP2Ja1w9YLlRTeAMM7u1UYHsPnTzA8,4552
241
+ numba_cuda/numba/cuda/tests/nrt/test_nrt.py,sha256=b3rtK018qslhUU5UsAAa3s-mjlnlfxAwTJmARTVD2j4,7650
242
+ numba_cuda/numba/cuda/tests/nrt/test_nrt_refct.py,sha256=Wq46oICum9IXnbQ97vV8V7g-3U01PLQEQbaGSNdRuMg,3163
235
243
  numba_cuda/numba/cuda/tests/test_binary_generation/Makefile,sha256=P2WzCc5d64JGq6pJwHEwmKVmJOJxPBtsMTbnuzqYkik,2679
236
244
  numba_cuda/numba/cuda/tests/test_binary_generation/generate_raw_ltoir.py,sha256=V0raLZLGSiWbE_K-JluI0CnmNkXbhlMVj-TH7P1OV8E,5014
237
245
  numba_cuda/numba/cuda/tests/test_binary_generation/test_device_functions.cu,sha256=cUf-t6ZM9MK_x7X_aKwsrKW1LdR97XcpR-qnYr5faOE,453
238
246
  numba_cuda/numba/cuda/tests/test_binary_generation/undefined_extern.cu,sha256=q3oxZziT8KDodeNcEBiWULH6vMrHCWucmJmtrg8C0d0,128
239
- numba_cuda-0.2.0.dist-info/LICENSE,sha256=eHeYE-XjASmwbxfsP5AImgfzRwZurZGqH1f6OFwJ4io,1326
240
- numba_cuda-0.2.0.dist-info/METADATA,sha256=u3e2Hm6iPkdyyDwsvGJ7B3RecpE7X3zA2SHrX-z7Kc4,1496
241
- numba_cuda-0.2.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
242
- numba_cuda-0.2.0.dist-info/top_level.txt,sha256=C50SsH-8tXDmt7I0Y3nlJYhS5s6pqWflCPdobe9vx2M,11
243
- numba_cuda-0.2.0.dist-info/RECORD,,
247
+ numba_cuda-0.4.0.dist-info/LICENSE,sha256=eHeYE-XjASmwbxfsP5AImgfzRwZurZGqH1f6OFwJ4io,1326
248
+ numba_cuda-0.4.0.dist-info/METADATA,sha256=BWlfqEMCG0dlSXORk9sKzY7nT_YdQzk9eQ7fBX4rvlY,1496
249
+ numba_cuda-0.4.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
250
+ numba_cuda-0.4.0.dist-info/top_level.txt,sha256=C50SsH-8tXDmt7I0Y3nlJYhS5s6pqWflCPdobe9vx2M,11
251
+ numba_cuda-0.4.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.6.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5