numba-cuda 0.0.15__tar.gz → 0.0.17__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 (238) hide show
  1. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/PKG-INFO +1 -19
  2. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/README.md +0 -18
  3. numba_cuda-0.0.17/numba_cuda/VERSION +1 -0
  4. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/compiler.py +13 -10
  5. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/decorators.py +6 -5
  6. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/printimpl.py +21 -0
  7. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/api.py +5 -2
  8. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_compiler.py +2 -2
  9. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_cuda_jit_no_types.py +1 -1
  10. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_exception.py +1 -1
  11. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_fastmath.py +2 -2
  12. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_print.py +40 -0
  13. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_userexc.py +1 -1
  14. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_warning.py +38 -0
  15. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda.egg-info/PKG-INFO +1 -19
  16. numba_cuda-0.0.15/numba_cuda/VERSION +0 -1
  17. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/LICENSE +0 -0
  18. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/__init__.py +0 -0
  19. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/_version.py +0 -0
  20. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/__init__.py +0 -0
  21. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/api.py +0 -0
  22. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/api_util.py +0 -0
  23. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/args.py +0 -0
  24. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cg.py +0 -0
  25. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/codegen.py +0 -0
  26. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cpp_function_wrappers.cu +0 -0
  27. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cuda_fp16.h +0 -0
  28. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cuda_fp16.hpp +0 -0
  29. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cuda_paths.py +0 -0
  30. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadecl.py +0 -0
  31. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/__init__.py +0 -0
  32. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/devicearray.py +0 -0
  33. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/devices.py +0 -0
  34. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/driver.py +0 -0
  35. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/drvapi.py +0 -0
  36. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/dummyarray.py +0 -0
  37. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/enums.py +0 -0
  38. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/error.py +0 -0
  39. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/libs.py +0 -0
  40. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/ndarray.py +0 -0
  41. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/nvrtc.py +0 -0
  42. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/nvvm.py +0 -0
  43. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/rtapi.py +0 -0
  44. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudadrv/runtime.py +0 -0
  45. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudaimpl.py +0 -0
  46. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/cudamath.py +0 -0
  47. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/descriptor.py +0 -0
  48. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/device_init.py +0 -0
  49. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/deviceufunc.py +0 -0
  50. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/dispatcher.py +0 -0
  51. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/errors.py +0 -0
  52. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/extending.py +0 -0
  53. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/initialize.py +0 -0
  54. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/intrinsic_wrapper.py +0 -0
  55. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/intrinsics.py +0 -0
  56. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/kernels/__init__.py +0 -0
  57. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/kernels/reduction.py +0 -0
  58. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/kernels/transpose.py +0 -0
  59. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/libdevice.py +0 -0
  60. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/libdevicedecl.py +0 -0
  61. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/libdevicefuncs.py +0 -0
  62. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/libdeviceimpl.py +0 -0
  63. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/mathimpl.py +0 -0
  64. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/models.py +0 -0
  65. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/nvvmutils.py +0 -0
  66. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/random.py +0 -0
  67. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/__init__.py +0 -0
  68. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/compiler.py +0 -0
  69. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/cudadrv/__init__.py +0 -0
  70. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/cudadrv/devicearray.py +0 -0
  71. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/cudadrv/devices.py +0 -0
  72. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/cudadrv/driver.py +0 -0
  73. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/cudadrv/drvapi.py +0 -0
  74. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/cudadrv/dummyarray.py +0 -0
  75. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/cudadrv/error.py +0 -0
  76. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/cudadrv/libs.py +0 -0
  77. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/cudadrv/nvvm.py +0 -0
  78. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/cudadrv/runtime.py +0 -0
  79. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/kernel.py +0 -0
  80. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/kernelapi.py +0 -0
  81. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/reduction.py +0 -0
  82. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator/vector_types.py +0 -0
  83. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/simulator_init.py +0 -0
  84. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/stubs.py +0 -0
  85. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/target.py +0 -0
  86. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/testing.py +0 -0
  87. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/__init__.py +0 -0
  88. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/__init__.py +0 -0
  89. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_array_attr.py +0 -0
  90. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_context_stack.py +0 -0
  91. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_array_slicing.py +0 -0
  92. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_auto_context.py +0 -0
  93. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_devicerecord.py +0 -0
  94. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_driver.py +0 -0
  95. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_libraries.py +0 -0
  96. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_memory.py +0 -0
  97. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_ndarray.py +0 -0
  98. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_deallocations.py +0 -0
  99. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_detect.py +0 -0
  100. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_emm_plugins.py +0 -0
  101. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_events.py +0 -0
  102. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_host_alloc.py +0 -0
  103. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_init.py +0 -0
  104. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_inline_ptx.py +0 -0
  105. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_is_fp16.py +0 -0
  106. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_linker.py +0 -0
  107. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_managed_alloc.py +0 -0
  108. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_mvc.py +0 -0
  109. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_nvvm_driver.py +0 -0
  110. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_pinned.py +0 -0
  111. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_profiler.py +0 -0
  112. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_ptds.py +0 -0
  113. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_reset_device.py +0 -0
  114. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_runtime.py +0 -0
  115. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_select_device.py +0 -0
  116. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudadrv/test_streams.py +0 -0
  117. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/__init__.py +0 -0
  118. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/cache_usecases.py +0 -0
  119. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/cache_with_cpu_usecases.py +0 -0
  120. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/extensions_usecases.py +0 -0
  121. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/jitlink.ptx +0 -0
  122. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/recursion_usecases.py +0 -0
  123. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_alignment.py +0 -0
  124. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_array.py +0 -0
  125. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_array_args.py +0 -0
  126. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_array_methods.py +0 -0
  127. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_atomics.py +0 -0
  128. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_blackscholes.py +0 -0
  129. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_boolean.py +0 -0
  130. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_caching.py +0 -0
  131. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_casting.py +0 -0
  132. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_cffi.py +0 -0
  133. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_complex.py +0 -0
  134. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_complex_kernel.py +0 -0
  135. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_const_string.py +0 -0
  136. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_constmem.py +0 -0
  137. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_cooperative_groups.py +0 -0
  138. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_cuda_array_interface.py +0 -0
  139. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_datetime.py +0 -0
  140. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_debug.py +0 -0
  141. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_debuginfo.py +0 -0
  142. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_device_func.py +0 -0
  143. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_dispatcher.py +0 -0
  144. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_enums.py +0 -0
  145. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_errors.py +0 -0
  146. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_extending.py +0 -0
  147. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_forall.py +0 -0
  148. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_freevar.py +0 -0
  149. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_frexp_ldexp.py +0 -0
  150. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_globals.py +0 -0
  151. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_gufunc.py +0 -0
  152. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_gufunc_scalar.py +0 -0
  153. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_gufunc_scheduling.py +0 -0
  154. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_idiv.py +0 -0
  155. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_inspect.py +0 -0
  156. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_intrinsics.py +0 -0
  157. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_ipc.py +0 -0
  158. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_iterators.py +0 -0
  159. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_lang.py +0 -0
  160. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_laplace.py +0 -0
  161. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_libdevice.py +0 -0
  162. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_lineinfo.py +0 -0
  163. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_localmem.py +0 -0
  164. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_mandel.py +0 -0
  165. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_math.py +0 -0
  166. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_matmul.py +0 -0
  167. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_minmax.py +0 -0
  168. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_montecarlo.py +0 -0
  169. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_multigpu.py +0 -0
  170. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_multiprocessing.py +0 -0
  171. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_multithreads.py +0 -0
  172. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_nondet.py +0 -0
  173. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_operator.py +0 -0
  174. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_optimization.py +0 -0
  175. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_overload.py +0 -0
  176. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_powi.py +0 -0
  177. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_py2_div_issue.py +0 -0
  178. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_random.py +0 -0
  179. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_record_dtype.py +0 -0
  180. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_recursion.py +0 -0
  181. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_reduction.py +0 -0
  182. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_retrieve_autoconverted_arrays.py +0 -0
  183. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_serialize.py +0 -0
  184. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_slicing.py +0 -0
  185. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_sm.py +0 -0
  186. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_sm_creation.py +0 -0
  187. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_sync.py +0 -0
  188. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_transpose.py +0 -0
  189. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_ufuncs.py +0 -0
  190. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_vector_type.py +0 -0
  191. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize.py +0 -0
  192. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize_complex.py +0 -0
  193. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize_decor.py +0 -0
  194. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize_device.py +0 -0
  195. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize_scalar_arg.py +0 -0
  196. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudapy/test_warp_ops.py +0 -0
  197. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudasim/__init__.py +0 -0
  198. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudasim/support.py +0 -0
  199. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/cudasim/test_cudasim_issues.py +0 -0
  200. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/data/__init__.py +0 -0
  201. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/data/cuda_include.cu +0 -0
  202. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/data/error.cu +0 -0
  203. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/data/jitlink.cu +0 -0
  204. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/data/jitlink.ptx +0 -0
  205. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/data/warn.cu +0 -0
  206. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/__init__.py +0 -0
  207. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/ffi/__init__.py +0 -0
  208. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/ffi/functions.cu +0 -0
  209. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/test_cg.py +0 -0
  210. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/test_cpu_gpu_compat.py +0 -0
  211. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/test_ffi.py +0 -0
  212. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/test_laplace.py +0 -0
  213. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/test_matmul.py +0 -0
  214. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/test_montecarlo.py +0 -0
  215. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/test_random.py +0 -0
  216. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/test_reduction.py +0 -0
  217. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/test_sessionize.py +0 -0
  218. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/test_ufunc.py +0 -0
  219. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/doc_examples/test_vecadd.py +0 -0
  220. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/nocuda/__init__.py +0 -0
  221. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/nocuda/test_dummyarray.py +0 -0
  222. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/nocuda/test_function_resolution.py +0 -0
  223. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/nocuda/test_import.py +0 -0
  224. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/nocuda/test_library_lookup.py +0 -0
  225. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/tests/nocuda/test_nvvm.py +0 -0
  226. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/types.py +0 -0
  227. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/ufuncs.py +0 -0
  228. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/vector_types.py +0 -0
  229. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda/numba/cuda/vectorizers.py +0 -0
  230. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda.egg-info/SOURCES.txt +0 -0
  231. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda.egg-info/dependency_links.txt +0 -0
  232. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda.egg-info/requires.txt +0 -0
  233. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/numba_cuda.egg-info/top_level.txt +0 -0
  234. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/pyproject.toml +0 -0
  235. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/setup.cfg +0 -0
  236. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/setup.py +0 -0
  237. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/site-packages/_numba_cuda_redirector.pth +0 -0
  238. {numba_cuda-0.0.15 → numba_cuda-0.0.17}/site-packages/_numba_cuda_redirector.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: numba-cuda
3
- Version: 0.0.15
3
+ Version: 0.0.17
4
4
  Summary: CUDA target for Numba
5
5
  Author: Anaconda Inc., NVIDIA Corporation
6
6
  License: BSD 2-clause
@@ -49,21 +49,3 @@ which will show a path like:
49
49
  ```
50
50
  <path to numba-cuda repo>/numba_cuda/numba/cuda/__init__.py
51
51
  ```
52
-
53
- ## Branching strategy
54
-
55
- Presently the `main` branch is being used to target the exact behavior of the
56
- built-in CUDA target. New feature development and bug fixes should be applied to
57
- `develop`. Once the `main` branch is widely tested and confirmed to work well as
58
- a drop-in replacement for the built-in `numba.cuda`, the `develop` branch will
59
- be merged in and new feature development will proceed on `main`.
60
-
61
- ### Current PR targets
62
-
63
- - PRs related to replacing the built-in CUDA target's features should target
64
- `main`.
65
- - PRs adding new features and bug fixes should target `develop`.
66
-
67
- ### Future PR targets
68
-
69
- - In future, all PRs should target the `main` branch.
@@ -34,21 +34,3 @@ which will show a path like:
34
34
  ```
35
35
  <path to numba-cuda repo>/numba_cuda/numba/cuda/__init__.py
36
36
  ```
37
-
38
- ## Branching strategy
39
-
40
- Presently the `main` branch is being used to target the exact behavior of the
41
- built-in CUDA target. New feature development and bug fixes should be applied to
42
- `develop`. Once the `main` branch is widely tested and confirmed to work well as
43
- a drop-in replacement for the built-in `numba.cuda`, the `develop` branch will
44
- be merged in and new feature development will proceed on `main`.
45
-
46
- ### Current PR targets
47
-
48
- - PRs related to replacing the built-in CUDA target's features should target
49
- `main`.
50
- - PRs adding new features and bug fixes should target `develop`.
51
-
52
- ### Future PR targets
53
-
54
- - In future, all PRs should target the `main` branch.
@@ -0,0 +1 @@
1
+ 0.0.17
@@ -253,8 +253,8 @@ def cabi_wrap_function(context, lib, fndesc, wrapper_function_name,
253
253
 
254
254
 
255
255
  @global_compiler_lock
256
- def compile(pyfunc, sig, debug=False, lineinfo=False, device=True,
257
- fastmath=False, cc=None, opt=True, abi="c", abi_info=None,
256
+ def compile(pyfunc, sig, debug=None, lineinfo=False, device=True,
257
+ fastmath=False, cc=None, opt=None, abi="c", abi_info=None,
258
258
  output='ptx'):
259
259
  """Compile a Python function to PTX or LTO-IR for a given set of argument
260
260
  types.
@@ -283,7 +283,7 @@ def compile(pyfunc, sig, debug=False, lineinfo=False, device=True,
283
283
  :param cc: Compute capability to compile for, as a tuple
284
284
  ``(MAJOR, MINOR)``. Defaults to ``(5, 0)``.
285
285
  :type cc: tuple
286
- :param opt: Enable optimizations. Defaults to ``True``.
286
+ :param opt: Whether to enable optimizations in the compiled code.
287
287
  :type opt: bool
288
288
  :param abi: The ABI for a compiled function - either ``"numba"`` or
289
289
  ``"c"``. Note that the Numba ABI is not considered stable.
@@ -307,8 +307,11 @@ def compile(pyfunc, sig, debug=False, lineinfo=False, device=True,
307
307
  if output not in ("ptx", "ltoir"):
308
308
  raise NotImplementedError(f'Unsupported output type: {output}')
309
309
 
310
+ debug = config.CUDA_DEBUGINFO_DEFAULT if debug is None else debug
311
+ opt = (config.OPT != 0) if opt is None else opt
312
+
310
313
  if debug and opt:
311
- msg = ("debug=True with opt=True (the default) "
314
+ msg = ("debug=True with opt=True "
312
315
  "is not supported by CUDA. This may result in a crash"
313
316
  " - set debug=False or opt=False.")
314
317
  warn(NumbaInvalidConfigWarning(msg))
@@ -359,8 +362,8 @@ def compile(pyfunc, sig, debug=False, lineinfo=False, device=True,
359
362
  return code, resty
360
363
 
361
364
 
362
- def compile_for_current_device(pyfunc, sig, debug=False, lineinfo=False,
363
- device=True, fastmath=False, opt=True,
365
+ def compile_for_current_device(pyfunc, sig, debug=None, lineinfo=False,
366
+ device=True, fastmath=False, opt=None,
364
367
  abi="c", abi_info=None, output='ptx'):
365
368
  """Compile a Python function to PTX or LTO-IR for a given signature for the
366
369
  current device's compute capabilility. This calls :func:`compile` with an
@@ -371,8 +374,8 @@ def compile_for_current_device(pyfunc, sig, debug=False, lineinfo=False,
371
374
  abi_info=abi_info, output=output)
372
375
 
373
376
 
374
- def compile_ptx(pyfunc, sig, debug=False, lineinfo=False, device=False,
375
- fastmath=False, cc=None, opt=True, abi="numba", abi_info=None):
377
+ def compile_ptx(pyfunc, sig, debug=None, lineinfo=False, device=False,
378
+ fastmath=False, cc=None, opt=None, abi="numba", abi_info=None):
376
379
  """Compile a Python function to PTX for a given signature. See
377
380
  :func:`compile`. The defaults for this function are to compile a kernel
378
381
  with the Numba ABI, rather than :func:`compile`'s default of compiling a
@@ -382,8 +385,8 @@ def compile_ptx(pyfunc, sig, debug=False, lineinfo=False, device=False,
382
385
  abi_info=abi_info, output='ptx')
383
386
 
384
387
 
385
- def compile_ptx_for_current_device(pyfunc, sig, debug=False, lineinfo=False,
386
- device=False, fastmath=False, opt=True,
388
+ def compile_ptx_for_current_device(pyfunc, sig, debug=None, lineinfo=False,
389
+ device=False, fastmath=False, opt=None,
387
390
  abi="numba", abi_info=None):
388
391
  """Compile a Python function to PTX for a given signature for the current
389
392
  device's compute capabilility. See :func:`compile_ptx`."""
@@ -12,7 +12,7 @@ _msg_deprecated_signature_arg = ("Deprecated keyword argument `{0}`. "
12
12
 
13
13
 
14
14
  def jit(func_or_sig=None, device=False, inline=False, link=[], debug=None,
15
- opt=True, lineinfo=False, cache=False, **kws):
15
+ opt=None, lineinfo=False, cache=False, **kws):
16
16
  """
17
17
  JIT compile a Python function for CUDA GPUs.
18
18
 
@@ -42,9 +42,9 @@ def jit(func_or_sig=None, device=False, inline=False, link=[], debug=None,
42
42
  this number of registers per thread. The limit may not be respected if
43
43
  the ABI requires a greater number of registers than that requested.
44
44
  Useful for increasing occupancy.
45
- :param opt: Whether to compile from LLVM IR to PTX with optimization
46
- enabled. When ``True``, ``-opt=3`` is passed to NVVM. When
47
- ``False``, ``-opt=0`` is passed to NVVM. Defaults to ``True``.
45
+ :param opt: Whether to compile with optimization enabled. If unspecified,
46
+ the OPT configuration variable is decided by ``NUMBA_OPT```; all
47
+ non-zero values will enable optimization.
48
48
  :type opt: bool
49
49
  :param lineinfo: If True, generate a line mapping between source code and
50
50
  assembly code. This enables inspection of the source code in NVIDIA
@@ -71,11 +71,12 @@ def jit(func_or_sig=None, device=False, inline=False, link=[], debug=None,
71
71
  raise DeprecationError(msg)
72
72
 
73
73
  debug = config.CUDA_DEBUGINFO_DEFAULT if debug is None else debug
74
+ opt = (config.OPT != 0) if opt is None else opt
74
75
  fastmath = kws.get('fastmath', False)
75
76
  extensions = kws.get('extensions', [])
76
77
 
77
78
  if debug and opt:
78
- msg = ("debug=True with opt=True (the default) "
79
+ msg = ("debug=True with opt=True "
79
80
  "is not supported by CUDA. This may result in a crash"
80
81
  " - set debug=False or opt=False.")
81
82
  warn(NumbaInvalidConfigWarning(msg))
@@ -4,6 +4,7 @@ from numba.core import types, cgutils
4
4
  from numba.core.errors import NumbaWarning
5
5
  from numba.core.imputils import Registry
6
6
  from numba.cuda import nvvmutils
7
+ from numba.cuda.types import Dim3
7
8
  from warnings import warn
8
9
 
9
10
  registry = Registry()
@@ -53,6 +54,26 @@ def const_print_impl(ty, context, builder, sigval):
53
54
  return rawfmt, [val]
54
55
 
55
56
 
57
+ @print_item.register(Dim3)
58
+ def dim3_print_impl(ty, context, builder, val):
59
+ rawfmt = "(%d, %d, %d)"
60
+ x = builder.extract_value(val, 0)
61
+ y = builder.extract_value(val, 1)
62
+ z = builder.extract_value(val, 2)
63
+ return rawfmt, [x, y, z]
64
+
65
+
66
+ @print_item.register(types.Boolean)
67
+ def bool_print_impl(ty, context, builder, val):
68
+ true_string = context.insert_string_const_addrspace(builder, "True")
69
+ false_string = context.insert_string_const_addrspace(builder, "False")
70
+ res_ptr = cgutils.alloca_once_value(builder, false_string)
71
+ with builder.if_then(val):
72
+ builder.store(true_string, res_ptr)
73
+ rawfmt = "%s"
74
+ return rawfmt, [builder.load(res_ptr)]
75
+
76
+
56
77
  @lower(print, types.VarArg(types.Any))
57
78
  def print_varargs(context, builder, sig, args):
58
79
  """This function is a generic 'print' wrapper for arbitrary types.
@@ -9,6 +9,7 @@ from contextlib import contextmanager
9
9
  from .cudadrv.devices import require_context, reset, gpus # noqa: F401
10
10
  from .kernel import FakeCUDAKernel
11
11
  from numba.core.sigutils import is_signature
12
+ from numba.core import config
12
13
  from warnings import warn
13
14
  from ..args import In, Out, InOut # noqa: F401
14
15
 
@@ -80,9 +81,9 @@ class Event(object):
80
81
  event = Event
81
82
 
82
83
 
83
- def jit(func_or_sig=None, device=False, debug=False, argtypes=None,
84
+ def jit(func_or_sig=None, device=False, debug=None, argtypes=None,
84
85
  inline=False, restype=None, fastmath=False, link=None,
85
- boundscheck=None, opt=True, cache=None
86
+ boundscheck=None, opt=None, cache=None
86
87
  ):
87
88
  # Here for API compatibility
88
89
  if boundscheck:
@@ -91,6 +92,8 @@ def jit(func_or_sig=None, device=False, debug=False, argtypes=None,
91
92
  if link is not None:
92
93
  raise NotImplementedError('Cannot link PTX in the simulator')
93
94
 
95
+ debug = config.CUDA_DEBUGINFO_DEFAULT if debug is None else debug
96
+
94
97
  # Check for first argument specifying types - in that case the
95
98
  # decorator is not being passed a function
96
99
  if (func_or_sig is None or is_signature(func_or_sig)
@@ -101,7 +101,7 @@ class TestCompile(unittest.TestCase):
101
101
  def f():
102
102
  pass
103
103
 
104
- ptx, resty = compile_ptx(f, (), device=True, debug=True)
104
+ ptx, resty = compile_ptx(f, (), device=True, debug=True, opt=False)
105
105
  self.check_debug_info(ptx)
106
106
 
107
107
  def test_kernel_with_debug(self):
@@ -109,7 +109,7 @@ class TestCompile(unittest.TestCase):
109
109
  def f():
110
110
  pass
111
111
 
112
- ptx, resty = compile_ptx(f, (), debug=True)
112
+ ptx, resty = compile_ptx(f, (), debug=True, opt=False)
113
113
  self.check_debug_info(ptx)
114
114
 
115
115
  def check_line_info(self, ptx):
@@ -81,7 +81,7 @@ class TestCudaJitNoTypes(CUDATestCase):
81
81
  # Ensure that the jit decorator accepts the debug kwarg when the
82
82
  # simulator is in use - see Issue #6615.
83
83
  with override_config('ENABLE_CUDASIM', 1):
84
- @cuda.jit(debug=True)
84
+ @cuda.jit(debug=True, opt=False)
85
85
  def f(x):
86
86
  pass
87
87
 
@@ -160,7 +160,7 @@ class TestException(CUDATestCase):
160
160
  def f():
161
161
  raise ValueError(msg)
162
162
 
163
- @cuda.jit(debug=True)
163
+ @cuda.jit(debug=True, opt=False)
164
164
  def kernel():
165
165
  f()
166
166
 
@@ -198,8 +198,8 @@ class TestFastMathOption(CUDATestCase):
198
198
  r[0] = x / y
199
199
 
200
200
  sig = (float32[::1], float32, float32)
201
- fastver = cuda.jit(sig, fastmath=True, debug=True)(f10)
202
- precver = cuda.jit(sig, debug=True)(f10)
201
+ fastver = cuda.jit(sig, fastmath=True, debug=True, opt=False)(f10)
202
+ precver = cuda.jit(sig, debug=True, opt=False)(f10)
203
203
  nelem = 10
204
204
  ary = np.empty(nelem, dtype=np.float32)
205
205
  with self.assertRaises(ZeroDivisionError):
@@ -1,4 +1,5 @@
1
1
  from numba.cuda.testing import CUDATestCase, skip_on_cudasim
2
+ import numpy as np
2
3
  import subprocess
3
4
  import sys
4
5
  import unittest
@@ -31,6 +32,21 @@ cuda.synchronize()
31
32
  """
32
33
 
33
34
 
35
+ printbool_usecase = """\
36
+ from numba import cuda
37
+
38
+ @cuda.jit
39
+ def printbool(x):
40
+ print(True)
41
+ print(False)
42
+ print(x == 0)
43
+
44
+ printbool[1, 1](0)
45
+ printbool[1, 1](1)
46
+ cuda.synchronize()
47
+ """
48
+
49
+
34
50
  printstring_usecase = """\
35
51
  from numba import cuda
36
52
 
@@ -43,6 +59,19 @@ printstring[1, 3]()
43
59
  cuda.synchronize()
44
60
  """
45
61
 
62
+
63
+ printdim3_usecase = """\
64
+ from numba import cuda
65
+
66
+ @cuda.jit
67
+ def printdim3():
68
+ print(cuda.threadIdx)
69
+
70
+ printdim3[1, (2, 2, 2)]()
71
+ cuda.synchronize()
72
+ """
73
+
74
+
46
75
  printempty_usecase = """\
47
76
  from numba import cuda
48
77
 
@@ -95,6 +124,11 @@ class TestPrint(CUDATestCase):
95
124
  expected_cases = ["0 23 34.750000 321", "0 23 34.75 321"]
96
125
  self.assertIn(output.strip(), expected_cases)
97
126
 
127
+ def test_bool(self):
128
+ output, _ = self.run_code(printbool_usecase)
129
+ expected = "True\nFalse\nTrue\nTrue\nFalse\nFalse"
130
+ self.assertEqual(output.strip(), expected)
131
+
98
132
  def test_printempty(self):
99
133
  output, _ = self.run_code(printempty_usecase)
100
134
  self.assertEqual(output.strip(), "")
@@ -105,6 +139,12 @@ class TestPrint(CUDATestCase):
105
139
  expected = ['%d hop! 999' % i for i in range(3)]
106
140
  self.assertEqual(sorted(lines), expected)
107
141
 
142
+ def test_dim3(self):
143
+ output, _ = self.run_code(printdim3_usecase)
144
+ lines = [line.strip() for line in output.splitlines(True)]
145
+ expected = [str(i) for i in np.ndindex(2, 2, 2)]
146
+ self.assertEqual(sorted(lines), expected)
147
+
108
148
  @skip_on_cudasim('cudasim can print unlimited output')
109
149
  def test_too_many_args(self):
110
150
  # Tests that we emit the format string and warn when there are more
@@ -22,7 +22,7 @@ class TestUserExc(CUDATestCase):
22
22
  self.skip_if_lto("Exceptions not supported with LTO")
23
23
 
24
24
  def test_user_exception(self):
25
- @cuda.jit("void(int32)", debug=True)
25
+ @cuda.jit("void(int32)", debug=True, opt=False)
26
26
  def test_exc(x):
27
27
  if x == 1:
28
28
  raise MyError
@@ -3,6 +3,7 @@ from numba import cuda
3
3
  from numba.cuda.testing import unittest, CUDATestCase, skip_on_cudasim
4
4
  from numba.tests.support import linux_only, override_config
5
5
  from numba.core.errors import NumbaPerformanceWarning
6
+ from numba.core import config
6
7
  import warnings
7
8
 
8
9
 
@@ -134,6 +135,43 @@ class TestWarnings(CUDATestCase):
134
135
 
135
136
  self.assertEqual(len(w), 0)
136
137
 
138
+ def test_no_warn_on_debug_and_opt_with_config(self):
139
+ with override_config('CUDA_DEBUGINFO_DEFAULT', 1):
140
+ with override_config('OPT', config._OptLevel(0)):
141
+ with warnings.catch_warnings(record=True) as w:
142
+ cuda.jit()
143
+
144
+ self.assertEqual(len(w), 0)
145
+
146
+ with warnings.catch_warnings(record=True) as w:
147
+ cuda.jit(opt=False)
148
+
149
+ self.assertEqual(len(w), 0)
150
+
151
+ with override_config('OPT', config._OptLevel(0)):
152
+ with warnings.catch_warnings(record=True) as w:
153
+ cuda.jit(debug=True)
154
+
155
+ self.assertEqual(len(w), 0)
156
+
157
+ def test_warn_on_debug_and_opt_with_config(self):
158
+ with override_config('CUDA_DEBUGINFO_DEFAULT', 1):
159
+ for opt in (1, 2, 3, 'max'):
160
+ with override_config('OPT', config._OptLevel(opt)):
161
+ with warnings.catch_warnings(record=True) as w:
162
+ cuda.jit()
163
+
164
+ self.assertEqual(len(w), 1)
165
+ self.assertIn('not supported by CUDA', str(w[0].message))
166
+
167
+ for opt in (1, 2, 3, 'max'):
168
+ with override_config('OPT', config._OptLevel(opt)):
169
+ with warnings.catch_warnings(record=True) as w:
170
+ cuda.jit(debug=True)
171
+
172
+ self.assertEqual(len(w), 1)
173
+ self.assertIn('not supported by CUDA', str(w[0].message))
174
+
137
175
 
138
176
  if __name__ == '__main__':
139
177
  unittest.main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: numba-cuda
3
- Version: 0.0.15
3
+ Version: 0.0.17
4
4
  Summary: CUDA target for Numba
5
5
  Author: Anaconda Inc., NVIDIA Corporation
6
6
  License: BSD 2-clause
@@ -49,21 +49,3 @@ which will show a path like:
49
49
  ```
50
50
  <path to numba-cuda repo>/numba_cuda/numba/cuda/__init__.py
51
51
  ```
52
-
53
- ## Branching strategy
54
-
55
- Presently the `main` branch is being used to target the exact behavior of the
56
- built-in CUDA target. New feature development and bug fixes should be applied to
57
- `develop`. Once the `main` branch is widely tested and confirmed to work well as
58
- a drop-in replacement for the built-in `numba.cuda`, the `develop` branch will
59
- be merged in and new feature development will proceed on `main`.
60
-
61
- ### Current PR targets
62
-
63
- - PRs related to replacing the built-in CUDA target's features should target
64
- `main`.
65
- - PRs adding new features and bug fixes should target `develop`.
66
-
67
- ### Future PR targets
68
-
69
- - In future, all PRs should target the `main` branch.
@@ -1 +0,0 @@
1
- 0.0.15
File without changes