numba-cuda 0.7.0__tar.gz → 0.8.0__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.
Files changed (259) hide show
  1. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/PKG-INFO +3 -2
  2. numba_cuda-0.8.0/numba_cuda/VERSION +1 -0
  3. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/dispatcher.py +4 -0
  4. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/runtime/nrt.py +24 -5
  5. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_overload.py +23 -0
  6. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/nrt/test_nrt.py +39 -8
  7. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/nrt/test_nrt_refct.py +4 -5
  8. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda.egg-info/PKG-INFO +3 -2
  9. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda.egg-info/SOURCES.txt +0 -1
  10. numba_cuda-0.7.0/numba_cuda/VERSION +0 -1
  11. numba_cuda-0.7.0/numba_cuda/numba/cuda/tests/nrt/mock_numpy.py +0 -146
  12. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/LICENSE +0 -0
  13. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/README.md +0 -0
  14. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/__init__.py +0 -0
  15. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/_version.py +0 -0
  16. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/__init__.py +0 -0
  17. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/api.py +0 -0
  18. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/api_util.py +0 -0
  19. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/args.py +0 -0
  20. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cg.py +0 -0
  21. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/codegen.py +0 -0
  22. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/compiler.py +0 -0
  23. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cpp_function_wrappers.cu +0 -0
  24. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cuda_fp16.h +0 -0
  25. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cuda_fp16.hpp +0 -0
  26. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cuda_paths.py +0 -0
  27. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadecl.py +0 -0
  28. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/__init__.py +0 -0
  29. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/devicearray.py +0 -0
  30. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/devices.py +0 -0
  31. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/driver.py +0 -0
  32. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/drvapi.py +0 -0
  33. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/dummyarray.py +0 -0
  34. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/enums.py +0 -0
  35. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/error.py +0 -0
  36. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/libs.py +0 -0
  37. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/linkable_code.py +0 -0
  38. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/mappings.py +0 -0
  39. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/ndarray.py +0 -0
  40. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/nvrtc.py +0 -0
  41. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/nvvm.py +0 -0
  42. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/rtapi.py +0 -0
  43. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudadrv/runtime.py +0 -0
  44. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudaimpl.py +0 -0
  45. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/cudamath.py +0 -0
  46. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/debuginfo.py +0 -0
  47. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/decorators.py +0 -0
  48. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/descriptor.py +0 -0
  49. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/device_init.py +0 -0
  50. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/deviceufunc.py +0 -0
  51. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/errors.py +0 -0
  52. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/extending.py +0 -0
  53. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/initialize.py +0 -0
  54. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/intrinsic_wrapper.py +0 -0
  55. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/intrinsics.py +0 -0
  56. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/kernels/__init__.py +0 -0
  57. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/kernels/reduction.py +0 -0
  58. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/kernels/transpose.py +0 -0
  59. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/libdevice.py +0 -0
  60. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/libdevicedecl.py +0 -0
  61. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/libdevicefuncs.py +0 -0
  62. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/libdeviceimpl.py +0 -0
  63. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/mathimpl.py +0 -0
  64. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/models.py +0 -0
  65. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/nvvmutils.py +0 -0
  66. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/printimpl.py +0 -0
  67. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/random.py +0 -0
  68. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/reshape_funcs.cu +0 -0
  69. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/runtime/__init__.py +0 -0
  70. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/runtime/memsys.cu +0 -0
  71. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/runtime/memsys.cuh +0 -0
  72. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/runtime/nrt.cu +0 -0
  73. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/__init__.py +0 -0
  74. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/api.py +0 -0
  75. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/compiler.py +0 -0
  76. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/cudadrv/__init__.py +0 -0
  77. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/cudadrv/devicearray.py +0 -0
  78. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/cudadrv/devices.py +0 -0
  79. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/cudadrv/driver.py +0 -0
  80. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/cudadrv/drvapi.py +0 -0
  81. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/cudadrv/dummyarray.py +0 -0
  82. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/cudadrv/error.py +0 -0
  83. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/cudadrv/libs.py +0 -0
  84. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/cudadrv/nvvm.py +0 -0
  85. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/cudadrv/runtime.py +0 -0
  86. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/kernel.py +0 -0
  87. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/kernelapi.py +0 -0
  88. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/reduction.py +0 -0
  89. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator/vector_types.py +0 -0
  90. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/simulator_init.py +0 -0
  91. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/stubs.py +0 -0
  92. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/target.py +0 -0
  93. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/testing.py +0 -0
  94. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/__init__.py +0 -0
  95. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/__init__.py +0 -0
  96. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_array_attr.py +0 -0
  97. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_context_stack.py +0 -0
  98. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_array_slicing.py +0 -0
  99. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_auto_context.py +0 -0
  100. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_devicerecord.py +0 -0
  101. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_driver.py +0 -0
  102. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_libraries.py +0 -0
  103. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_memory.py +0 -0
  104. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_ndarray.py +0 -0
  105. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_deallocations.py +0 -0
  106. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_detect.py +0 -0
  107. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_emm_plugins.py +0 -0
  108. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_events.py +0 -0
  109. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_host_alloc.py +0 -0
  110. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_init.py +0 -0
  111. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_inline_ptx.py +0 -0
  112. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_is_fp16.py +0 -0
  113. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_linker.py +0 -0
  114. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_managed_alloc.py +0 -0
  115. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_mvc.py +0 -0
  116. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_nvjitlink.py +0 -0
  117. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_nvvm_driver.py +0 -0
  118. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_pinned.py +0 -0
  119. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_profiler.py +0 -0
  120. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_ptds.py +0 -0
  121. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_reset_device.py +0 -0
  122. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_runtime.py +0 -0
  123. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_select_device.py +0 -0
  124. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudadrv/test_streams.py +0 -0
  125. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/__init__.py +0 -0
  126. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/cache_usecases.py +0 -0
  127. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/cache_with_cpu_usecases.py +0 -0
  128. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/extensions_usecases.py +0 -0
  129. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/jitlink.ptx +0 -0
  130. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/recursion_usecases.py +0 -0
  131. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_alignment.py +0 -0
  132. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_array.py +0 -0
  133. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_array_args.py +0 -0
  134. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_array_methods.py +0 -0
  135. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_atomics.py +0 -0
  136. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_blackscholes.py +0 -0
  137. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_boolean.py +0 -0
  138. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_caching.py +0 -0
  139. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_casting.py +0 -0
  140. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_cffi.py +0 -0
  141. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_compiler.py +0 -0
  142. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_complex.py +0 -0
  143. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_complex_kernel.py +0 -0
  144. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_const_string.py +0 -0
  145. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_constmem.py +0 -0
  146. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_cooperative_groups.py +0 -0
  147. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_cuda_array_interface.py +0 -0
  148. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_cuda_jit_no_types.py +0 -0
  149. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_datetime.py +0 -0
  150. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_debug.py +0 -0
  151. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_debuginfo.py +0 -0
  152. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_device_func.py +0 -0
  153. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_dispatcher.py +0 -0
  154. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_enums.py +0 -0
  155. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_errors.py +0 -0
  156. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_exception.py +0 -0
  157. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_extending.py +0 -0
  158. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_fastmath.py +0 -0
  159. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_forall.py +0 -0
  160. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_freevar.py +0 -0
  161. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_frexp_ldexp.py +0 -0
  162. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_globals.py +0 -0
  163. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_gufunc.py +0 -0
  164. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_gufunc_scalar.py +0 -0
  165. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_gufunc_scheduling.py +0 -0
  166. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_idiv.py +0 -0
  167. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_inspect.py +0 -0
  168. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_intrinsics.py +0 -0
  169. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_ipc.py +0 -0
  170. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_iterators.py +0 -0
  171. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_lang.py +0 -0
  172. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_laplace.py +0 -0
  173. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_libdevice.py +0 -0
  174. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_lineinfo.py +0 -0
  175. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_localmem.py +0 -0
  176. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_mandel.py +0 -0
  177. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_math.py +0 -0
  178. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_matmul.py +0 -0
  179. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_minmax.py +0 -0
  180. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_montecarlo.py +0 -0
  181. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_multigpu.py +0 -0
  182. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_multiprocessing.py +0 -0
  183. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_multithreads.py +0 -0
  184. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_nondet.py +0 -0
  185. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_operator.py +0 -0
  186. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_optimization.py +0 -0
  187. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_powi.py +0 -0
  188. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_print.py +0 -0
  189. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_py2_div_issue.py +0 -0
  190. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_random.py +0 -0
  191. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_record_dtype.py +0 -0
  192. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_recursion.py +0 -0
  193. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_reduction.py +0 -0
  194. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_retrieve_autoconverted_arrays.py +0 -0
  195. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_serialize.py +0 -0
  196. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_slicing.py +0 -0
  197. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_sm.py +0 -0
  198. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_sm_creation.py +0 -0
  199. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_stream_api.py +0 -0
  200. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_sync.py +0 -0
  201. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_transpose.py +0 -0
  202. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_ufuncs.py +0 -0
  203. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_userexc.py +0 -0
  204. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_vector_type.py +0 -0
  205. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize.py +0 -0
  206. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize_complex.py +0 -0
  207. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize_decor.py +0 -0
  208. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize_device.py +0 -0
  209. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize_scalar_arg.py +0 -0
  210. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_warning.py +0 -0
  211. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudapy/test_warp_ops.py +0 -0
  212. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudasim/__init__.py +0 -0
  213. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudasim/support.py +0 -0
  214. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/cudasim/test_cudasim_issues.py +0 -0
  215. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/data/__init__.py +0 -0
  216. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/data/cuda_include.cu +0 -0
  217. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/data/error.cu +0 -0
  218. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/data/jitlink.cu +0 -0
  219. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/data/jitlink.ptx +0 -0
  220. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/data/warn.cu +0 -0
  221. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/__init__.py +0 -0
  222. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/ffi/__init__.py +0 -0
  223. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/ffi/functions.cu +0 -0
  224. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/test_cg.py +0 -0
  225. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/test_cpu_gpu_compat.py +0 -0
  226. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/test_ffi.py +0 -0
  227. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/test_laplace.py +0 -0
  228. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/test_matmul.py +0 -0
  229. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/test_montecarlo.py +0 -0
  230. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/test_random.py +0 -0
  231. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/test_reduction.py +0 -0
  232. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/test_sessionize.py +0 -0
  233. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/test_ufunc.py +0 -0
  234. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/doc_examples/test_vecadd.py +0 -0
  235. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/nocuda/__init__.py +0 -0
  236. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/nocuda/test_dummyarray.py +0 -0
  237. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/nocuda/test_function_resolution.py +0 -0
  238. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/nocuda/test_import.py +0 -0
  239. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/nocuda/test_library_lookup.py +0 -0
  240. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/nocuda/test_nvvm.py +0 -0
  241. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/nrt/__init__.py +0 -0
  242. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/support.py +0 -0
  243. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/test_binary_generation/Makefile +0 -0
  244. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/test_binary_generation/generate_raw_ltoir.py +0 -0
  245. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/test_binary_generation/test_device_functions.cu +0 -0
  246. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/tests/test_binary_generation/undefined_extern.cu +0 -0
  247. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/types.py +0 -0
  248. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/ufuncs.py +0 -0
  249. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/utils.py +0 -0
  250. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/vector_types.py +0 -0
  251. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda/numba/cuda/vectorizers.py +0 -0
  252. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda.egg-info/dependency_links.txt +0 -0
  253. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda.egg-info/requires.txt +0 -0
  254. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/numba_cuda.egg-info/top_level.txt +0 -0
  255. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/pyproject.toml +0 -0
  256. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/setup.cfg +0 -0
  257. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/setup.py +0 -0
  258. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/site-packages/_numba_cuda_redirector.pth +0 -0
  259. {numba_cuda-0.7.0 → numba_cuda-0.8.0}/site-packages/_numba_cuda_redirector.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: numba-cuda
3
- Version: 0.7.0
3
+ Version: 0.8.0
4
4
  Summary: CUDA target for Numba
5
5
  Author: Anaconda Inc., NVIDIA Corporation
6
6
  License: BSD 2-clause
@@ -12,6 +12,7 @@ Requires-Python: >=3.9
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
14
  Requires-Dist: numba>=0.59.1
15
+ Dynamic: license-file
15
16
 
16
17
  <div align="center"><img src="docs/source/_static/numba-green-icon-rgb.svg" width="200"/></div>
17
18
 
@@ -0,0 +1 @@
1
+ 0.8.0
@@ -968,6 +968,10 @@ class CUDADispatcher(Dispatcher, serialize.ReduceMixin):
968
968
 
969
969
  A (template, pysig, args, kws) tuple is returned.
970
970
  """
971
+ # Fold keyword arguments and resolve default values
972
+ pysig, args = self._compiler.fold_argument_types(args, kws)
973
+ kws = {}
974
+
971
975
  # Ensure an exactly-matching overload is available if we can
972
976
  # compile. We proceed with the typing even if we can't compile
973
977
  # because we may be able to force a cast on the caller side.
@@ -5,7 +5,8 @@ import numpy as np
5
5
 
6
6
  from numba import cuda, config
7
7
  from numba.core.runtime.nrt import _nrt_mstats
8
- from numba.cuda.cudadrv.driver import Linker, driver, launch_kernel
8
+ from numba.cuda.cudadrv.driver import (Linker, driver, launch_kernel,
9
+ USE_NV_BINDING)
9
10
  from numba.cuda.cudadrv import devices
10
11
  from numba.cuda.api import get_current_device
11
12
  from numba.cuda.utils import _readenv
@@ -128,6 +129,18 @@ class _Runtime:
128
129
  cooperative=False
129
130
  )
130
131
 
132
+ def _ctypes_pointer(self, array):
133
+ """
134
+ Given an array, return a ctypes pointer to the data suitable for
135
+ passing to ``launch_kernel``.
136
+ """
137
+ ptr = array.device_ctypes_pointer
138
+
139
+ if USE_NV_BINDING:
140
+ ptr = ctypes.c_void_p(int(ptr))
141
+
142
+ return ptr
143
+
131
144
  def ensure_initialized(self, stream=None):
132
145
  """
133
146
  If memsys is not initialized, initialize memsys
@@ -174,12 +187,13 @@ class _Runtime:
174
187
  context
175
188
  """
176
189
  enabled_ar = cuda.managed_array(1, np.uint8)
190
+ enabled_ptr = self._ctypes_pointer(enabled_ar)
177
191
 
178
192
  self._single_thread_launch(
179
193
  self._memsys_module,
180
194
  stream,
181
195
  "NRT_MemSys_stats_enabled",
182
- (enabled_ar.device_ctypes_pointer,)
196
+ (enabled_ptr,)
183
197
  )
184
198
 
185
199
  cuda.synchronize()
@@ -198,12 +212,13 @@ class _Runtime:
198
212
  ])
199
213
 
200
214
  stats_for_read = cuda.managed_array(1, dt)
215
+ stats_ptr = self._ctypes_pointer(stats_for_read)
201
216
 
202
217
  self._single_thread_launch(
203
218
  self._memsys_module,
204
219
  stream,
205
220
  "NRT_MemSys_read",
206
- [stats_for_read.device_ctypes_pointer]
221
+ [stats_ptr]
207
222
  )
208
223
  cuda.synchronize()
209
224
 
@@ -231,11 +246,13 @@ class _Runtime:
231
246
  Get a single stat from the memsys
232
247
  """
233
248
  got = cuda.managed_array(1, np.uint64)
249
+ got_ptr = self._ctypes_pointer(got)
250
+
234
251
  self._single_thread_launch(
235
252
  self._memsys_module,
236
253
  stream,
237
254
  f"NRT_MemSys_read_{stat}",
238
- [got.device_ctypes_pointer]
255
+ [got_ptr]
239
256
  )
240
257
 
241
258
  cuda.synchronize()
@@ -294,11 +311,13 @@ class _Runtime:
294
311
  raise RuntimeError(
295
312
  "Please allocate NRT Memsys first before setting to module.")
296
313
 
314
+ memsys_ptr = self._ctypes_pointer(self._memsys)
315
+
297
316
  self._single_thread_launch(
298
317
  module,
299
318
  stream,
300
319
  "NRT_MemSys_set",
301
- [self._memsys.device_ctypes_pointer,]
320
+ [memsys_ptr]
302
321
  )
303
322
 
304
323
  @_alloc_init_guard
@@ -56,6 +56,10 @@ def target_overloaded_calls_target_overloaded():
56
56
  pass
57
57
 
58
58
 
59
+ def default_values_and_kwargs():
60
+ pass
61
+
62
+
59
63
  # To recognise which functions are resolved for a call, we identify each with a
60
64
  # prime number. Each function called multiplies a value by its prime (starting
61
65
  # with the value 1), and we can check that the result is as expected based on
@@ -185,6 +189,13 @@ def ol_generic_calls_target_overloaded_cuda(x):
185
189
  return impl
186
190
 
187
191
 
192
+ @overload(default_values_and_kwargs)
193
+ def ol_default_values_and_kwargs(out, x, y=5, z=6):
194
+ def impl(out, x, y=5, z=6):
195
+ out[0], out[1] = x + y, z
196
+ return impl
197
+
198
+
188
199
  @skip_on_cudasim('Overloading not supported in cudasim')
189
200
  class TestOverload(CUDATestCase):
190
201
  def check_overload(self, kernel, expected):
@@ -330,6 +341,18 @@ class TestOverload(CUDATestCase):
330
341
  def cuda_target_attr_use(res, dummy):
331
342
  res[0] = dummy.cuda_only
332
343
 
344
+ def test_default_values_and_kwargs(self):
345
+ """
346
+ Test default values and kwargs.
347
+ """
348
+ @cuda.jit()
349
+ def kernel(a, b, out):
350
+ default_values_and_kwargs(out, a, z=b)
351
+
352
+ out = np.empty(2, dtype=np.int64)
353
+ kernel[1,1](1, 2, out)
354
+ self.assertEqual(tuple(out), (6, 2))
355
+
333
356
 
334
357
  if __name__ == '__main__':
335
358
  unittest.main()
@@ -5,7 +5,6 @@ import numpy as np
5
5
  import unittest
6
6
  from numba.cuda.testing import CUDATestCase
7
7
 
8
- from numba.cuda.tests.nrt.mock_numpy import cuda_empty, cuda_ones, cuda_arange
9
8
  from numba.tests.support import run_in_subprocess, override_config
10
9
 
11
10
  from numba import cuda
@@ -24,7 +23,7 @@ class TestNrtBasic(CUDATestCase):
24
23
 
25
24
  @cuda.jit
26
25
  def g():
27
- x = cuda_empty(10, np.int64)
26
+ x = np.empty(10, np.int64)
28
27
  f(x)
29
28
 
30
29
  g[1,1]()
@@ -37,7 +36,7 @@ class TestNrtBasic(CUDATestCase):
37
36
 
38
37
  @cuda.jit
39
38
  def g():
40
- x = cuda_empty(10, np.int64)
39
+ x = np.empty(10, np.int64)
41
40
  f(x)
42
41
 
43
42
  g[1,1]()
@@ -66,7 +65,7 @@ class TestNrtBasic(CUDATestCase):
66
65
 
67
66
  @cuda.jit
68
67
  def g(out_ary):
69
- x = cuda_empty(10, np.int64)
68
+ x = np.empty(10, np.int64)
70
69
  x[5] = 1
71
70
  y = f(x)
72
71
  out_ary[0] = y[0]
@@ -97,11 +96,11 @@ class TestNrtStatistics(CUDATestCase):
97
96
  src = """if 1:
98
97
  from numba import cuda
99
98
  from numba.cuda.runtime import rtsys
100
- from numba.cuda.tests.nrt.mock_numpy import cuda_arange
99
+ import numpy as np
101
100
 
102
101
  @cuda.jit
103
102
  def foo():
104
- x = cuda_arange(10)[0]
103
+ x = np.arange(10)[0]
105
104
 
106
105
  # initialize the NRT before use
107
106
  rtsys.initialize()
@@ -167,8 +166,8 @@ class TestNrtStatistics(CUDATestCase):
167
166
 
168
167
  @cuda.jit
169
168
  def foo():
170
- tmp = cuda_ones(3)
171
- arr = cuda_arange(5 * tmp[0]) # noqa: F841
169
+ tmp = np.ones(3)
170
+ arr = np.arange(5 * tmp[0]) # noqa: F841
172
171
  return None
173
172
 
174
173
  with (
@@ -230,6 +229,38 @@ class TestNrtStatistics(CUDATestCase):
230
229
  stats_func()
231
230
  self.assertIn("NRT stats are disabled.", str(raises.exception))
232
231
 
232
+ def test_read_one_stat(self):
233
+ @cuda.jit
234
+ def foo():
235
+ tmp = np.ones(3)
236
+ arr = np.arange(5 * tmp[0]) # noqa: F841
237
+ return None
238
+
239
+ with (
240
+ override_config('CUDA_ENABLE_NRT', True),
241
+ override_config('CUDA_NRT_STATS', True)
242
+ ):
243
+
244
+ # Switch on stats
245
+ rtsys.memsys_enable_stats()
246
+
247
+ # Launch the kernel a couple of times to increase stats
248
+ foo[1, 1]()
249
+ foo[1, 1]()
250
+
251
+ # Get stats struct and individual stats
252
+ stats = rtsys.get_allocation_stats()
253
+ stats_alloc = rtsys.memsys_get_stats_alloc()
254
+ stats_mi_alloc = rtsys.memsys_get_stats_mi_alloc()
255
+ stats_free = rtsys.memsys_get_stats_free()
256
+ stats_mi_free = rtsys.memsys_get_stats_mi_free()
257
+
258
+ # Check individual stats match stats struct
259
+ self.assertEqual(stats.alloc, stats_alloc)
260
+ self.assertEqual(stats.mi_alloc, stats_mi_alloc)
261
+ self.assertEqual(stats.free, stats_free)
262
+ self.assertEqual(stats.mi_free, stats_mi_free)
263
+
233
264
 
234
265
  if __name__ == '__main__':
235
266
  unittest.main()
@@ -4,7 +4,6 @@ from numba.tests.support import override_config
4
4
  from numba.cuda.runtime import rtsys
5
5
  from numba.cuda.tests.support import EnableNRTStatsMixin
6
6
  from numba.cuda.testing import CUDATestCase
7
- from numba.cuda.tests.nrt.mock_numpy import cuda_empty, cuda_empty_like
8
7
 
9
8
  from numba import cuda
10
9
 
@@ -34,7 +33,7 @@ class TestNrtRefCt(EnableNRTStatsMixin, CUDATestCase):
34
33
  @cuda.jit
35
34
  def kernel():
36
35
  for i in range(n):
37
- temp = cuda_empty(2, np.float64) # noqa: F841
36
+ temp = np.empty(2) # noqa: F841
38
37
  return None
39
38
 
40
39
  init_stats = rtsys.get_allocation_stats()
@@ -51,7 +50,7 @@ class TestNrtRefCt(EnableNRTStatsMixin, CUDATestCase):
51
50
  @cuda.jit
52
51
  def g(n):
53
52
 
54
- x = cuda_empty((n, 2), np.float64)
53
+ x = np.empty((n, 2))
55
54
 
56
55
  for i in range(n):
57
56
  y = x[i]
@@ -73,13 +72,13 @@ class TestNrtRefCt(EnableNRTStatsMixin, CUDATestCase):
73
72
  """
74
73
  @cuda.jit
75
74
  def if_with_allocation_and_initialization(arr1, test1):
76
- tmp_arr = cuda_empty_like(arr1)
75
+ tmp_arr = np.empty_like(arr1)
77
76
 
78
77
  for i in range(tmp_arr.shape[0]):
79
78
  pass
80
79
 
81
80
  if test1:
82
- cuda_empty_like(arr1)
81
+ np.empty_like(arr1)
83
82
 
84
83
  arr = np.random.random((5, 5)) # the values are not consumed
85
84
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: numba-cuda
3
- Version: 0.7.0
3
+ Version: 0.8.0
4
4
  Summary: CUDA target for Numba
5
5
  Author: Anaconda Inc., NVIDIA Corporation
6
6
  License: BSD 2-clause
@@ -12,6 +12,7 @@ Requires-Python: >=3.9
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
14
  Requires-Dist: numba>=0.59.1
15
+ Dynamic: license-file
15
16
 
16
17
  <div align="center"><img src="docs/source/_static/numba-green-icon-rgb.svg" width="200"/></div>
17
18
 
@@ -245,7 +245,6 @@ numba_cuda/numba/cuda/tests/nocuda/test_import.py
245
245
  numba_cuda/numba/cuda/tests/nocuda/test_library_lookup.py
246
246
  numba_cuda/numba/cuda/tests/nocuda/test_nvvm.py
247
247
  numba_cuda/numba/cuda/tests/nrt/__init__.py
248
- numba_cuda/numba/cuda/tests/nrt/mock_numpy.py
249
248
  numba_cuda/numba/cuda/tests/nrt/test_nrt.py
250
249
  numba_cuda/numba/cuda/tests/nrt/test_nrt_refct.py
251
250
  numba_cuda/numba/cuda/tests/test_binary_generation/Makefile
@@ -1 +0,0 @@
1
- 0.7.0
@@ -1,146 +0,0 @@
1
- import math
2
-
3
- import numpy as np
4
-
5
- from numba.core import errors, types
6
- from numba.core.extending import overload
7
- from numba.np.arrayobj import (_check_const_str_dtype, is_nonelike,
8
- ty_parse_dtype, ty_parse_shape, numpy_empty_nd,
9
- numpy_empty_like_nd)
10
-
11
-
12
- # Typical tests for allocation use array construction (e.g. np.zeros, np.empty,
13
- # etc.) to induce allocations. These don't work in the CUDA target because they
14
- # need keyword arguments, which are presently not supported properly in the
15
- # CUDA target.
16
- #
17
- # To work around this, we can define our own function, that works like
18
- # the desired one, except that it uses only positional arguments.
19
- #
20
- # Once the CUDA target supports keyword arguments, this workaround will no
21
- # longer be necessary and the tests in this module should be switched to use
22
- # the relevant NumPy functions instead.
23
- def cuda_empty(shape, dtype):
24
- pass
25
-
26
-
27
- def cuda_empty_like(arr):
28
- pass
29
-
30
-
31
- def cuda_arange(start):
32
- pass
33
-
34
-
35
- def cuda_ones(shape):
36
- pass
37
-
38
-
39
- @overload(cuda_empty)
40
- def ol_cuda_empty(shape, dtype):
41
- _check_const_str_dtype("empty", dtype)
42
- if (dtype is float or
43
- (isinstance(dtype, types.Function) and dtype.typing_key is float) or
44
- is_nonelike(dtype)): #default
45
- nb_dtype = types.double
46
- else:
47
- nb_dtype = ty_parse_dtype(dtype)
48
-
49
- ndim = ty_parse_shape(shape)
50
- if nb_dtype is not None and ndim is not None:
51
- retty = types.Array(dtype=nb_dtype, ndim=ndim, layout='C')
52
-
53
- def impl(shape, dtype):
54
- return numpy_empty_nd(shape, dtype, retty)
55
- return impl
56
- else:
57
- msg = f"Cannot parse input types to function np.empty({shape}, {dtype})"
58
- raise errors.TypingError(msg)
59
-
60
-
61
- @overload(cuda_empty_like)
62
- def ol_cuda_empty_like(arr):
63
-
64
- if isinstance(arr, types.Array):
65
- nb_dtype = arr.dtype
66
- else:
67
- nb_dtype = arr
68
-
69
- if isinstance(arr, types.Array):
70
- layout = arr.layout if arr.layout != 'A' else 'C'
71
- retty = arr.copy(dtype=nb_dtype, layout=layout, readonly=False)
72
- else:
73
- retty = types.Array(nb_dtype, 0, 'C')
74
-
75
- def impl(arr):
76
- dtype = None
77
- return numpy_empty_like_nd(arr, dtype, retty)
78
- return impl
79
-
80
-
81
- def _arange_dtype(*args):
82
- bounds = [a for a in args if not isinstance(a, types.NoneType)]
83
-
84
- if any(isinstance(a, types.Complex) for a in bounds):
85
- dtype = types.complex128
86
- elif any(isinstance(a, types.Float) for a in bounds):
87
- dtype = types.float64
88
- else:
89
- # `np.arange(10).dtype` is always `np.dtype(int)`, aka `np.int_`, which
90
- # in all released versions of numpy corresponds to the C `long` type.
91
- # Windows 64 is broken by default here because Numba (as of 0.47) does
92
- # not differentiate between Python and NumPy integers, so a `typeof(1)`
93
- # on w64 is `int64`, i.e. `intp`. This means an arange(<some int>) will
94
- # be typed as arange(int64) and the following will yield int64 opposed
95
- # to int32. Example: without a load of analysis to work out of the args
96
- # were wrapped in NumPy int*() calls it's not possible to detect the
97
- # difference between `np.arange(10)` and `np.arange(np.int64(10)`.
98
- NPY_TY = getattr(types, "int%s" % (8 * np.dtype(int).itemsize))
99
-
100
- # unliteral these types such that `max` works.
101
- unliteral_bounds = [types.unliteral(x) for x in bounds]
102
- dtype = max(unliteral_bounds + [NPY_TY,])
103
-
104
- return dtype
105
-
106
-
107
- @overload(cuda_arange)
108
- def ol_cuda_arange(start):
109
- """Simplified arange with just 1 argument."""
110
- if (not isinstance(start, types.Number)):
111
- return
112
-
113
- start_value = getattr(start, "literal_value", None)
114
-
115
- def impl(start):
116
- # Allow for improved performance if given literal arguments.
117
- lit_start = start_value if start_value is not None else start
118
-
119
- _step = 1
120
- _start, _stop = 0, lit_start
121
-
122
- nitems_c = (_stop - _start) / _step
123
- nitems_r = int(math.ceil(nitems_c.real))
124
-
125
- # Binary operator needed for compiler branch pruning.
126
- nitems = max(nitems_r, 0)
127
-
128
- arr = cuda_empty(nitems, np.int64)
129
- val = _start
130
- for i in range(nitems):
131
- arr[i] = val + (i * _step)
132
- return arr
133
-
134
- return impl
135
-
136
-
137
- @overload(cuda_ones)
138
- def ol_cuda_ones(shape):
139
-
140
- def impl(shape):
141
- arr = cuda_empty(shape, np.float64)
142
- arr_flat = arr.flat
143
- for idx in range(len(arr_flat)):
144
- arr_flat[idx] = 1
145
- return arr
146
- return impl
File without changes
File without changes