numba-cuda 0.8.0__py3-none-any.whl → 0.9.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.
Files changed (227) hide show
  1. _numba_cuda_redirector.py +17 -13
  2. numba_cuda/VERSION +1 -1
  3. numba_cuda/_version.py +4 -1
  4. numba_cuda/numba/cuda/__init__.py +6 -2
  5. numba_cuda/numba/cuda/api.py +129 -86
  6. numba_cuda/numba/cuda/api_util.py +3 -3
  7. numba_cuda/numba/cuda/args.py +12 -16
  8. numba_cuda/numba/cuda/cg.py +6 -6
  9. numba_cuda/numba/cuda/codegen.py +74 -43
  10. numba_cuda/numba/cuda/compiler.py +232 -113
  11. numba_cuda/numba/cuda/cpp_function_wrappers.cu +1 -2
  12. numba_cuda/numba/cuda/cuda_fp16.h +661 -661
  13. numba_cuda/numba/cuda/cuda_fp16.hpp +3 -3
  14. numba_cuda/numba/cuda/cuda_paths.py +291 -99
  15. numba_cuda/numba/cuda/cudadecl.py +125 -69
  16. numba_cuda/numba/cuda/cudadrv/__init__.py +3 -1
  17. numba_cuda/numba/cuda/cudadrv/devicearray.py +185 -135
  18. numba_cuda/numba/cuda/cudadrv/devices.py +16 -11
  19. numba_cuda/numba/cuda/cudadrv/driver.py +463 -297
  20. numba_cuda/numba/cuda/cudadrv/drvapi.py +241 -207
  21. numba_cuda/numba/cuda/cudadrv/dummyarray.py +66 -54
  22. numba_cuda/numba/cuda/cudadrv/enums.py +1 -1
  23. numba_cuda/numba/cuda/cudadrv/error.py +6 -2
  24. numba_cuda/numba/cuda/cudadrv/libs.py +67 -63
  25. numba_cuda/numba/cuda/cudadrv/linkable_code.py +16 -1
  26. numba_cuda/numba/cuda/cudadrv/mappings.py +16 -14
  27. numba_cuda/numba/cuda/cudadrv/nvrtc.py +138 -29
  28. numba_cuda/numba/cuda/cudadrv/nvvm.py +296 -161
  29. numba_cuda/numba/cuda/cudadrv/rtapi.py +1 -1
  30. numba_cuda/numba/cuda/cudadrv/runtime.py +20 -8
  31. numba_cuda/numba/cuda/cudaimpl.py +317 -233
  32. numba_cuda/numba/cuda/cudamath.py +1 -1
  33. numba_cuda/numba/cuda/debuginfo.py +8 -6
  34. numba_cuda/numba/cuda/decorators.py +75 -45
  35. numba_cuda/numba/cuda/descriptor.py +1 -1
  36. numba_cuda/numba/cuda/device_init.py +69 -18
  37. numba_cuda/numba/cuda/deviceufunc.py +143 -98
  38. numba_cuda/numba/cuda/dispatcher.py +300 -213
  39. numba_cuda/numba/cuda/errors.py +13 -10
  40. numba_cuda/numba/cuda/extending.py +1 -1
  41. numba_cuda/numba/cuda/initialize.py +5 -3
  42. numba_cuda/numba/cuda/intrinsic_wrapper.py +3 -3
  43. numba_cuda/numba/cuda/intrinsics.py +31 -27
  44. numba_cuda/numba/cuda/kernels/reduction.py +13 -13
  45. numba_cuda/numba/cuda/kernels/transpose.py +3 -6
  46. numba_cuda/numba/cuda/libdevice.py +317 -317
  47. numba_cuda/numba/cuda/libdeviceimpl.py +3 -2
  48. numba_cuda/numba/cuda/locks.py +16 -0
  49. numba_cuda/numba/cuda/mathimpl.py +62 -57
  50. numba_cuda/numba/cuda/models.py +1 -5
  51. numba_cuda/numba/cuda/nvvmutils.py +103 -88
  52. numba_cuda/numba/cuda/printimpl.py +9 -5
  53. numba_cuda/numba/cuda/random.py +46 -36
  54. numba_cuda/numba/cuda/reshape_funcs.cu +1 -1
  55. numba_cuda/numba/cuda/runtime/__init__.py +1 -1
  56. numba_cuda/numba/cuda/runtime/memsys.cu +1 -1
  57. numba_cuda/numba/cuda/runtime/memsys.cuh +1 -1
  58. numba_cuda/numba/cuda/runtime/nrt.cu +3 -3
  59. numba_cuda/numba/cuda/runtime/nrt.py +48 -43
  60. numba_cuda/numba/cuda/simulator/__init__.py +22 -12
  61. numba_cuda/numba/cuda/simulator/api.py +38 -22
  62. numba_cuda/numba/cuda/simulator/compiler.py +2 -2
  63. numba_cuda/numba/cuda/simulator/cudadrv/__init__.py +8 -2
  64. numba_cuda/numba/cuda/simulator/cudadrv/devicearray.py +63 -55
  65. numba_cuda/numba/cuda/simulator/cudadrv/devices.py +13 -11
  66. numba_cuda/numba/cuda/simulator/cudadrv/driver.py +5 -5
  67. numba_cuda/numba/cuda/simulator/cudadrv/drvapi.py +2 -2
  68. numba_cuda/numba/cuda/simulator/cudadrv/libs.py +1 -1
  69. numba_cuda/numba/cuda/simulator/cudadrv/nvvm.py +3 -3
  70. numba_cuda/numba/cuda/simulator/cudadrv/runtime.py +3 -3
  71. numba_cuda/numba/cuda/simulator/kernel.py +43 -34
  72. numba_cuda/numba/cuda/simulator/kernelapi.py +31 -26
  73. numba_cuda/numba/cuda/simulator/reduction.py +1 -0
  74. numba_cuda/numba/cuda/simulator/vector_types.py +13 -9
  75. numba_cuda/numba/cuda/simulator_init.py +2 -4
  76. numba_cuda/numba/cuda/stubs.py +139 -102
  77. numba_cuda/numba/cuda/target.py +64 -47
  78. numba_cuda/numba/cuda/testing.py +24 -19
  79. numba_cuda/numba/cuda/tests/__init__.py +14 -12
  80. numba_cuda/numba/cuda/tests/cudadrv/test_array_attr.py +16 -17
  81. numba_cuda/numba/cuda/tests/cudadrv/test_context_stack.py +7 -7
  82. numba_cuda/numba/cuda/tests/cudadrv/test_cuda_array_slicing.py +73 -54
  83. numba_cuda/numba/cuda/tests/cudadrv/test_cuda_auto_context.py +1 -1
  84. numba_cuda/numba/cuda/tests/cudadrv/test_cuda_devicerecord.py +48 -50
  85. numba_cuda/numba/cuda/tests/cudadrv/test_cuda_driver.py +47 -29
  86. numba_cuda/numba/cuda/tests/cudadrv/test_cuda_libraries.py +3 -3
  87. numba_cuda/numba/cuda/tests/cudadrv/test_cuda_memory.py +19 -19
  88. numba_cuda/numba/cuda/tests/cudadrv/test_cuda_ndarray.py +108 -103
  89. numba_cuda/numba/cuda/tests/cudadrv/test_deallocations.py +20 -11
  90. numba_cuda/numba/cuda/tests/cudadrv/test_detect.py +20 -17
  91. numba_cuda/numba/cuda/tests/cudadrv/test_emm_plugins.py +8 -6
  92. numba_cuda/numba/cuda/tests/cudadrv/test_events.py +1 -1
  93. numba_cuda/numba/cuda/tests/cudadrv/test_host_alloc.py +8 -7
  94. numba_cuda/numba/cuda/tests/cudadrv/test_init.py +13 -13
  95. numba_cuda/numba/cuda/tests/cudadrv/test_inline_ptx.py +12 -9
  96. numba_cuda/numba/cuda/tests/cudadrv/test_linker.py +36 -31
  97. numba_cuda/numba/cuda/tests/cudadrv/test_managed_alloc.py +8 -7
  98. numba_cuda/numba/cuda/tests/cudadrv/test_module_callbacks.py +294 -0
  99. numba_cuda/numba/cuda/tests/cudadrv/test_mvc.py +10 -7
  100. numba_cuda/numba/cuda/tests/cudadrv/test_nvjitlink.py +24 -15
  101. numba_cuda/numba/cuda/tests/cudadrv/test_nvvm_driver.py +43 -41
  102. numba_cuda/numba/cuda/tests/cudadrv/test_pinned.py +4 -5
  103. numba_cuda/numba/cuda/tests/cudadrv/test_profiler.py +2 -2
  104. numba_cuda/numba/cuda/tests/cudadrv/test_ptds.py +28 -17
  105. numba_cuda/numba/cuda/tests/cudadrv/test_reset_device.py +1 -2
  106. numba_cuda/numba/cuda/tests/cudadrv/test_runtime.py +22 -14
  107. numba_cuda/numba/cuda/tests/cudadrv/test_select_device.py +1 -1
  108. numba_cuda/numba/cuda/tests/cudadrv/test_streams.py +4 -3
  109. numba_cuda/numba/cuda/tests/cudapy/cache_usecases.py +10 -4
  110. numba_cuda/numba/cuda/tests/cudapy/cache_with_cpu_usecases.py +1 -0
  111. numba_cuda/numba/cuda/tests/cudapy/extensions_usecases.py +7 -6
  112. numba_cuda/numba/cuda/tests/cudapy/jitlink.ptx +0 -2
  113. numba_cuda/numba/cuda/tests/cudapy/recursion_usecases.py +1 -0
  114. numba_cuda/numba/cuda/tests/cudapy/test_alignment.py +6 -5
  115. numba_cuda/numba/cuda/tests/cudapy/test_array.py +52 -42
  116. numba_cuda/numba/cuda/tests/cudapy/test_array_args.py +5 -6
  117. numba_cuda/numba/cuda/tests/cudapy/test_array_methods.py +1 -1
  118. numba_cuda/numba/cuda/tests/cudapy/test_atomics.py +501 -304
  119. numba_cuda/numba/cuda/tests/cudapy/test_blackscholes.py +57 -21
  120. numba_cuda/numba/cuda/tests/cudapy/test_boolean.py +3 -3
  121. numba_cuda/numba/cuda/tests/cudapy/test_caching.py +50 -37
  122. numba_cuda/numba/cuda/tests/cudapy/test_casting.py +29 -24
  123. numba_cuda/numba/cuda/tests/cudapy/test_cffi.py +11 -6
  124. numba_cuda/numba/cuda/tests/cudapy/test_compiler.py +84 -50
  125. numba_cuda/numba/cuda/tests/cudapy/test_complex.py +144 -73
  126. numba_cuda/numba/cuda/tests/cudapy/test_complex_kernel.py +2 -2
  127. numba_cuda/numba/cuda/tests/cudapy/test_const_string.py +37 -27
  128. numba_cuda/numba/cuda/tests/cudapy/test_constmem.py +43 -45
  129. numba_cuda/numba/cuda/tests/cudapy/test_cooperative_groups.py +21 -14
  130. numba_cuda/numba/cuda/tests/cudapy/test_cuda_array_interface.py +60 -55
  131. numba_cuda/numba/cuda/tests/cudapy/test_cuda_jit_no_types.py +3 -2
  132. numba_cuda/numba/cuda/tests/cudapy/test_datetime.py +26 -22
  133. numba_cuda/numba/cuda/tests/cudapy/test_debug.py +29 -27
  134. numba_cuda/numba/cuda/tests/cudapy/test_debuginfo.py +31 -28
  135. numba_cuda/numba/cuda/tests/cudapy/test_device_func.py +52 -45
  136. numba_cuda/numba/cuda/tests/cudapy/test_dispatcher.py +55 -43
  137. numba_cuda/numba/cuda/tests/cudapy/test_enums.py +6 -7
  138. numba_cuda/numba/cuda/tests/cudapy/test_errors.py +30 -15
  139. numba_cuda/numba/cuda/tests/cudapy/test_exception.py +11 -12
  140. numba_cuda/numba/cuda/tests/cudapy/test_extending.py +19 -12
  141. numba_cuda/numba/cuda/tests/cudapy/test_fastmath.py +77 -66
  142. numba_cuda/numba/cuda/tests/cudapy/test_forall.py +5 -3
  143. numba_cuda/numba/cuda/tests/cudapy/test_freevar.py +5 -3
  144. numba_cuda/numba/cuda/tests/cudapy/test_frexp_ldexp.py +1 -1
  145. numba_cuda/numba/cuda/tests/cudapy/test_globals.py +3 -5
  146. numba_cuda/numba/cuda/tests/cudapy/test_gufunc.py +144 -126
  147. numba_cuda/numba/cuda/tests/cudapy/test_gufunc_scalar.py +23 -18
  148. numba_cuda/numba/cuda/tests/cudapy/test_gufunc_scheduling.py +16 -22
  149. numba_cuda/numba/cuda/tests/cudapy/test_idiv.py +1 -3
  150. numba_cuda/numba/cuda/tests/cudapy/test_inspect.py +29 -20
  151. numba_cuda/numba/cuda/tests/cudapy/test_intrinsics.py +147 -99
  152. numba_cuda/numba/cuda/tests/cudapy/test_ipc.py +50 -36
  153. numba_cuda/numba/cuda/tests/cudapy/test_iterators.py +1 -2
  154. numba_cuda/numba/cuda/tests/cudapy/test_lang.py +4 -4
  155. numba_cuda/numba/cuda/tests/cudapy/test_laplace.py +6 -6
  156. numba_cuda/numba/cuda/tests/cudapy/test_libdevice.py +24 -20
  157. numba_cuda/numba/cuda/tests/cudapy/test_lineinfo.py +36 -31
  158. numba_cuda/numba/cuda/tests/cudapy/test_localmem.py +13 -13
  159. numba_cuda/numba/cuda/tests/cudapy/test_mandel.py +13 -6
  160. numba_cuda/numba/cuda/tests/cudapy/test_math.py +83 -66
  161. numba_cuda/numba/cuda/tests/cudapy/test_matmul.py +1 -3
  162. numba_cuda/numba/cuda/tests/cudapy/test_minmax.py +19 -58
  163. numba_cuda/numba/cuda/tests/cudapy/test_montecarlo.py +4 -4
  164. numba_cuda/numba/cuda/tests/cudapy/test_multigpu.py +9 -7
  165. numba_cuda/numba/cuda/tests/cudapy/test_multiprocessing.py +9 -8
  166. numba_cuda/numba/cuda/tests/cudapy/test_multithreads.py +12 -10
  167. numba_cuda/numba/cuda/tests/cudapy/test_nondet.py +1 -1
  168. numba_cuda/numba/cuda/tests/cudapy/test_operator.py +180 -96
  169. numba_cuda/numba/cuda/tests/cudapy/test_optimization.py +5 -5
  170. numba_cuda/numba/cuda/tests/cudapy/test_overload.py +37 -18
  171. numba_cuda/numba/cuda/tests/cudapy/test_powi.py +7 -7
  172. numba_cuda/numba/cuda/tests/cudapy/test_print.py +9 -7
  173. numba_cuda/numba/cuda/tests/cudapy/test_py2_div_issue.py +1 -1
  174. numba_cuda/numba/cuda/tests/cudapy/test_random.py +15 -10
  175. numba_cuda/numba/cuda/tests/cudapy/test_record_dtype.py +88 -87
  176. numba_cuda/numba/cuda/tests/cudapy/test_recursion.py +12 -10
  177. numba_cuda/numba/cuda/tests/cudapy/test_reduction.py +26 -11
  178. numba_cuda/numba/cuda/tests/cudapy/test_retrieve_autoconverted_arrays.py +7 -10
  179. numba_cuda/numba/cuda/tests/cudapy/test_serialize.py +4 -6
  180. numba_cuda/numba/cuda/tests/cudapy/test_slicing.py +1 -1
  181. numba_cuda/numba/cuda/tests/cudapy/test_sm.py +10 -9
  182. numba_cuda/numba/cuda/tests/cudapy/test_sm_creation.py +62 -43
  183. numba_cuda/numba/cuda/tests/cudapy/test_stream_api.py +7 -3
  184. numba_cuda/numba/cuda/tests/cudapy/test_sync.py +7 -5
  185. numba_cuda/numba/cuda/tests/cudapy/test_transpose.py +18 -11
  186. numba_cuda/numba/cuda/tests/cudapy/test_ufuncs.py +111 -88
  187. numba_cuda/numba/cuda/tests/cudapy/test_userexc.py +2 -3
  188. numba_cuda/numba/cuda/tests/cudapy/test_vector_type.py +305 -130
  189. numba_cuda/numba/cuda/tests/cudapy/test_vectorize.py +33 -36
  190. numba_cuda/numba/cuda/tests/cudapy/test_vectorize_complex.py +5 -5
  191. numba_cuda/numba/cuda/tests/cudapy/test_vectorize_decor.py +16 -12
  192. numba_cuda/numba/cuda/tests/cudapy/test_vectorize_device.py +7 -7
  193. numba_cuda/numba/cuda/tests/cudapy/test_vectorize_scalar_arg.py +6 -7
  194. numba_cuda/numba/cuda/tests/cudapy/test_warning.py +31 -29
  195. numba_cuda/numba/cuda/tests/cudapy/test_warp_ops.py +31 -25
  196. numba_cuda/numba/cuda/tests/cudasim/test_cudasim_issues.py +19 -13
  197. numba_cuda/numba/cuda/tests/data/jitlink.cu +1 -1
  198. numba_cuda/numba/cuda/tests/data/jitlink.ptx +0 -2
  199. numba_cuda/numba/cuda/tests/doc_examples/test_cg.py +15 -8
  200. numba_cuda/numba/cuda/tests/doc_examples/test_cpu_gpu_compat.py +4 -7
  201. numba_cuda/numba/cuda/tests/doc_examples/test_ffi.py +14 -9
  202. numba_cuda/numba/cuda/tests/doc_examples/test_laplace.py +22 -18
  203. numba_cuda/numba/cuda/tests/doc_examples/test_matmul.py +7 -4
  204. numba_cuda/numba/cuda/tests/doc_examples/test_montecarlo.py +2 -0
  205. numba_cuda/numba/cuda/tests/doc_examples/test_random.py +8 -4
  206. numba_cuda/numba/cuda/tests/doc_examples/test_reduction.py +2 -1
  207. numba_cuda/numba/cuda/tests/doc_examples/test_sessionize.py +94 -19
  208. numba_cuda/numba/cuda/tests/doc_examples/test_vecadd.py +2 -2
  209. numba_cuda/numba/cuda/tests/nocuda/test_dummyarray.py +91 -62
  210. numba_cuda/numba/cuda/tests/nocuda/test_function_resolution.py +14 -5
  211. numba_cuda/numba/cuda/tests/nocuda/test_import.py +25 -25
  212. numba_cuda/numba/cuda/tests/nocuda/test_library_lookup.py +40 -40
  213. numba_cuda/numba/cuda/tests/nocuda/test_nvvm.py +12 -10
  214. numba_cuda/numba/cuda/tests/nrt/test_nrt.py +16 -20
  215. numba_cuda/numba/cuda/tests/nrt/test_nrt_refct.py +12 -10
  216. numba_cuda/numba/cuda/tests/test_binary_generation/generate_raw_ltoir.py +2 -2
  217. numba_cuda/numba/cuda/types.py +5 -2
  218. numba_cuda/numba/cuda/ufuncs.py +382 -362
  219. numba_cuda/numba/cuda/utils.py +2 -2
  220. numba_cuda/numba/cuda/vector_types.py +2 -2
  221. numba_cuda/numba/cuda/vectorizers.py +37 -32
  222. {numba_cuda-0.8.0.dist-info → numba_cuda-0.9.0.dist-info}/METADATA +1 -1
  223. numba_cuda-0.9.0.dist-info/RECORD +253 -0
  224. {numba_cuda-0.8.0.dist-info → numba_cuda-0.9.0.dist-info}/WHEEL +1 -1
  225. numba_cuda-0.8.0.dist-info/RECORD +0 -251
  226. {numba_cuda-0.8.0.dist-info → numba_cuda-0.9.0.dist-info}/licenses/LICENSE +0 -0
  227. {numba_cuda-0.8.0.dist-info → numba_cuda-0.9.0.dist-info}/top_level.txt +0 -0
@@ -8,88 +8,82 @@ def template(signature, shapes, expects):
8
8
  for k, v in expects.items():
9
9
  got = getattr(sch, k)
10
10
  if got != v:
11
- fmt = 'error for %s: got=%s but expect=%s'
11
+ fmt = "error for %s: got=%s but expect=%s"
12
12
  raise AssertionError(fmt % (k, got, v))
13
13
 
14
14
 
15
15
  class TestGUFuncScheduling(unittest.TestCase):
16
16
  def test_signature_1(self):
17
- signature = '(m, n), (n, p) -> (m, p)'
17
+ signature = "(m, n), (n, p) -> (m, p)"
18
18
  shapes = (100, 4, 5), (1, 5, 7)
19
19
  expects = dict(
20
20
  ishapes=[(4, 5), (5, 7)],
21
21
  oshapes=[(4, 7)],
22
22
  loopdims=(100,),
23
- pinned=[False, True]
23
+ pinned=[False, True],
24
24
  )
25
25
  template(signature, shapes, expects)
26
26
 
27
27
  def test_signature_2(self):
28
- signature = '(m, n), (n, p) -> (m, p)'
28
+ signature = "(m, n), (n, p) -> (m, p)"
29
29
  shapes = (100, 4, 5), (100, 5, 7)
30
30
  expects = dict(
31
31
  ishapes=[(4, 5), (5, 7)],
32
32
  oshapes=[(4, 7)],
33
33
  loopdims=(100,),
34
- pinned=[False, False]
34
+ pinned=[False, False],
35
35
  )
36
36
  template(signature, shapes, expects)
37
37
 
38
38
  def test_signature_3(self):
39
- signature = '(m, n), (n, p) -> (m, p)'
39
+ signature = "(m, n), (n, p) -> (m, p)"
40
40
  shapes = (12, 34, 4, 5), (12, 34, 5, 7)
41
41
  expects = dict(
42
42
  ishapes=[(4, 5), (5, 7)],
43
43
  oshapes=[(4, 7)],
44
44
  loopdims=(12, 34),
45
- pinned=[False, False]
45
+ pinned=[False, False],
46
46
  )
47
47
  template(signature, shapes, expects)
48
48
 
49
49
  def test_signature_4(self):
50
- signature = '(m, n), (n, p) -> (m, p)'
50
+ signature = "(m, n), (n, p) -> (m, p)"
51
51
  shapes = (4, 5), (5, 7)
52
52
  expects = dict(
53
53
  ishapes=[(4, 5), (5, 7)],
54
54
  oshapes=[(4, 7)],
55
55
  loopdims=(),
56
- pinned=[False, False]
56
+ pinned=[False, False],
57
57
  )
58
58
  template(signature, shapes, expects)
59
59
 
60
60
  def test_signature_5(self):
61
- signature = '(a), (a) -> (a)'
61
+ signature = "(a), (a) -> (a)"
62
62
  shapes = (5,), (5,)
63
63
  expects = dict(
64
64
  ishapes=[(5,), (5,)],
65
65
  oshapes=[(5,)],
66
66
  loopdims=(),
67
- pinned=[False, False]
67
+ pinned=[False, False],
68
68
  )
69
69
  template(signature, shapes, expects)
70
70
 
71
71
  def test_signature_6(self):
72
- signature = '(), () -> ()'
72
+ signature = "(), () -> ()"
73
73
  shapes = (5,), (5,)
74
74
  expects = dict(
75
- ishapes=[(), ()],
76
- oshapes=[()],
77
- loopdims=(5,),
78
- pinned=[False, False]
75
+ ishapes=[(), ()], oshapes=[()], loopdims=(5,), pinned=[False, False]
79
76
  )
80
77
  template(signature, shapes, expects)
81
78
 
82
79
  def test_signature_7(self):
83
- signature = '(), () -> ()'
80
+ signature = "(), () -> ()"
84
81
  shapes = (5,), ()
85
82
  expects = dict(
86
- ishapes=[(), ()],
87
- oshapes=[()],
88
- loopdims=(5,),
89
- pinned=[False, True]
83
+ ishapes=[(), ()], oshapes=[()], loopdims=(5,), pinned=[False, True]
90
84
  )
91
85
  template(signature, shapes, expects)
92
86
 
93
87
 
94
- if __name__ == '__main__':
88
+ if __name__ == "__main__":
95
89
  unittest.main()
@@ -5,7 +5,6 @@ from numba.cuda.testing import unittest, CUDATestCase
5
5
 
6
6
  class TestCudaIDiv(CUDATestCase):
7
7
  def test_inplace_div(self):
8
-
9
8
  @cuda.jit(void(float32[:, :], int32, int32))
10
9
  def div(grid, l_x, l_y):
11
10
  for x in range(l_x):
@@ -19,7 +18,6 @@ class TestCudaIDiv(CUDATestCase):
19
18
  self.assertTrue(np.all(y == 0.5))
20
19
 
21
20
  def test_inplace_div_double(self):
22
-
23
21
  @cuda.jit(void(float64[:, :], int32, int32))
24
22
  def div_double(grid, l_x, l_y):
25
23
  for x in range(l_x):
@@ -33,5 +31,5 @@ class TestCudaIDiv(CUDATestCase):
33
31
  self.assertTrue(np.all(y == 0.5))
34
32
 
35
33
 
36
- if __name__ == '__main__':
34
+ if __name__ == "__main__":
37
35
  unittest.main()
@@ -3,11 +3,14 @@ import numpy as np
3
3
  from io import StringIO
4
4
  from numba import cuda, float32, float64, int32, intp
5
5
  from numba.cuda.testing import unittest, CUDATestCase
6
- from numba.cuda.testing import (skip_on_cudasim, skip_with_nvdisasm,
7
- skip_without_nvdisasm)
6
+ from numba.cuda.testing import (
7
+ skip_on_cudasim,
8
+ skip_with_nvdisasm,
9
+ skip_without_nvdisasm,
10
+ )
8
11
 
9
12
 
10
- @skip_on_cudasim('Simulator does not generate code to be inspected')
13
+ @skip_on_cudasim("Simulator does not generate code to be inspected")
11
14
  class TestInspect(CUDATestCase):
12
15
  @property
13
16
  def cc(self):
@@ -60,7 +63,10 @@ class TestInspect(CUDATestCase):
60
63
 
61
64
  # Signature in LLVM dict
62
65
  llvmirs = foo.inspect_llvm()
63
- self.assertEqual(2, len(llvmirs), )
66
+ self.assertEqual(
67
+ 2,
68
+ len(llvmirs),
69
+ )
64
70
  self.assertIn((intp, intp), llvmirs)
65
71
  self.assertIn((float64, float64), llvmirs)
66
72
 
@@ -75,7 +81,10 @@ class TestInspect(CUDATestCase):
75
81
  asmdict = foo.inspect_asm()
76
82
 
77
83
  # Signature in assembly dict
78
- self.assertEqual(2, len(asmdict), )
84
+ self.assertEqual(
85
+ 2,
86
+ len(asmdict),
87
+ )
79
88
  self.assertIn((intp, intp), asmdict)
80
89
  self.assertIn((float64, float64), asmdict)
81
90
 
@@ -87,7 +96,7 @@ class TestInspect(CUDATestCase):
87
96
  # Ensure function appears in output
88
97
  seen_function = False
89
98
  for line in sass.split():
90
- if '.text' in line and name in line:
99
+ if ".text" in line and name in line:
91
100
  seen_function = True
92
101
  self.assertTrue(seen_function)
93
102
 
@@ -95,11 +104,11 @@ class TestInspect(CUDATestCase):
95
104
 
96
105
  # Some instructions common to all supported architectures that should
97
106
  # appear in the output
98
- self.assertIn('S2R', sass) # Special register to register
99
- self.assertIn('BRA', sass) # Branch
100
- self.assertIn('EXIT', sass) # Exit program
107
+ self.assertIn("S2R", sass) # Special register to register
108
+ self.assertIn("BRA", sass) # Branch
109
+ self.assertIn("EXIT", sass) # Exit program
101
110
 
102
- @skip_without_nvdisasm('nvdisasm needed for inspect_sass()')
111
+ @skip_without_nvdisasm("nvdisasm needed for inspect_sass()")
103
112
  def test_inspect_sass_eager(self):
104
113
  sig = (float32[::1], int32[::1])
105
114
 
@@ -109,9 +118,9 @@ class TestInspect(CUDATestCase):
109
118
  if i < len(x):
110
119
  x[i] += y[i]
111
120
 
112
- self._test_inspect_sass(add, 'add', add.inspect_sass(sig))
121
+ self._test_inspect_sass(add, "add", add.inspect_sass(sig))
113
122
 
114
- @skip_without_nvdisasm('nvdisasm needed for inspect_sass()')
123
+ @skip_without_nvdisasm("nvdisasm needed for inspect_sass()")
115
124
  def test_inspect_sass_lazy(self):
116
125
  @cuda.jit(lineinfo=True)
117
126
  def add(x, y):
@@ -124,10 +133,11 @@ class TestInspect(CUDATestCase):
124
133
  add[1, 10](x, y)
125
134
 
126
135
  signature = (int32[::1], float32[::1])
127
- self._test_inspect_sass(add, 'add', add.inspect_sass(signature))
136
+ self._test_inspect_sass(add, "add", add.inspect_sass(signature))
128
137
 
129
- @skip_with_nvdisasm('Missing nvdisasm exception only generated when it is '
130
- 'not present')
138
+ @skip_with_nvdisasm(
139
+ "Missing nvdisasm exception only generated when it is not present"
140
+ )
131
141
  def test_inspect_sass_nvdisasm_missing(self):
132
142
  @cuda.jit((float32[::1],))
133
143
  def f(x):
@@ -136,9 +146,9 @@ class TestInspect(CUDATestCase):
136
146
  with self.assertRaises(RuntimeError) as raises:
137
147
  f.inspect_sass()
138
148
 
139
- self.assertIn('nvdisasm has not been found', str(raises.exception))
149
+ self.assertIn("nvdisasm has not been found", str(raises.exception))
140
150
 
141
- @skip_without_nvdisasm('nvdisasm needed for inspect_sass_cfg()')
151
+ @skip_without_nvdisasm("nvdisasm needed for inspect_sass_cfg()")
142
152
  def test_inspect_sass_cfg(self):
143
153
  sig = (float32[::1], int32[::1])
144
154
 
@@ -149,10 +159,9 @@ class TestInspect(CUDATestCase):
149
159
  x[i] += y[i]
150
160
 
151
161
  self.assertRegex(
152
- add.inspect_sass_cfg(signature=sig),
153
- r'digraph\s*\w\s*{(.|\n)*\n}'
162
+ add.inspect_sass_cfg(signature=sig), r"digraph\s*\w\s*{(.|\n)*\n}"
154
163
  )
155
164
 
156
165
 
157
- if __name__ == '__main__':
166
+ if __name__ == "__main__":
158
167
  unittest.main()