numba-cuda 0.12.1__tar.gz → 0.13.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.
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/PKG-INFO +1 -1
- numba_cuda-0.13.0/numba_cuda/VERSION +1 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/codegen.py +1 -1
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/nvrtc.py +1 -1
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/dispatcher.py +1 -1
- numba_cuda-0.13.0/numba_cuda/numba/cuda/memory_management/__init__.py +1 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/__init__.py +10 -1
- numba_cuda-0.13.0/numba_cuda/numba/cuda/simulator/_internal/__init__.py +1 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/api.py +17 -0
- numba_cuda-0.13.0/numba_cuda/numba/cuda/simulator/bf16.py +1 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/compiler.py +1 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/cudadrv/driver.py +7 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/cudadrv/libs.py +4 -0
- numba_cuda-0.13.0/numba_cuda/numba/cuda/simulator/cudadrv/linkable_code.py +57 -0
- numba_cuda-0.13.0/numba_cuda/numba/cuda/simulator/cudadrv/nvrtc.py +8 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/kernel.py +1 -1
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/kernelapi.py +8 -2
- numba_cuda-0.13.0/numba_cuda/numba/cuda/simulator/memory_management/__init__.py +1 -0
- numba_cuda-0.13.0/numba_cuda/numba/cuda/simulator/memory_management/nrt.py +6 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/testing.py +10 -4
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_ndarray.py +2 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_module_callbacks.py +15 -6
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_nvjitlink.py +1 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_array.py +0 -3
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_array_alignment.py +25 -1
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_bfloat16.py +11 -4
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_bfloat16_bindings.py +34 -21
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_cooperative_groups.py +4 -2
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_enums.py +1 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_extending.py +2 -0
- numba_cuda-0.13.0/numba_cuda/numba/cuda/tests/doc_examples/ffi/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/nrt/test_nrt.py +60 -58
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/nrt/test_nrt_refct.py +3 -2
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/support.py +1 -1
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/test_binary_generation/Makefile +1 -1
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/test_binary_generation/generate_raw_ltoir.py +1 -1
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda.egg-info/PKG-INFO +1 -1
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda.egg-info/SOURCES.txt +13 -6
- numba_cuda-0.12.1/numba_cuda/VERSION +0 -1
- numba_cuda-0.12.1/numba_cuda/numba/cuda/runtime/__init__.py +0 -1
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/LICENSE +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/README.md +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/_version.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/_internal/cuda_bf16.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/api.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/api_util.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/args.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/bf16.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cg.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/compiler.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cpp_function_wrappers.cu +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cuda_paths.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadecl.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/devicearray.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/devices.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/driver.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/drvapi.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/dummyarray.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/enums.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/error.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/libs.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/linkable_code.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/mappings.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/ndarray.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/nvvm.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/rtapi.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudadrv/runtime.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudaimpl.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/cudamath.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/debuginfo.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/decorators.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/descriptor.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/device_init.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/deviceufunc.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/errors.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/extending.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/include/11/cuda_bf16.h +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/include/11/cuda_bf16.hpp +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/include/11/cuda_fp16.h +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/include/11/cuda_fp16.hpp +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/include/12/cuda_bf16.h +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/include/12/cuda_bf16.hpp +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/include/12/cuda_fp16.h +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/include/12/cuda_fp16.hpp +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/initialize.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/intrinsic_wrapper.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/intrinsics.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/kernels/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/kernels/reduction.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/kernels/transpose.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/libdevice.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/libdevicedecl.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/libdevicefuncs.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/libdeviceimpl.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/locks.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/lowering.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/mathimpl.py +0 -0
- {numba_cuda-0.12.1/numba_cuda/numba/cuda/runtime → numba_cuda-0.13.0/numba_cuda/numba/cuda/memory_management}/memsys.cu +0 -0
- {numba_cuda-0.12.1/numba_cuda/numba/cuda/runtime → numba_cuda-0.13.0/numba_cuda/numba/cuda/memory_management}/memsys.cuh +0 -0
- {numba_cuda-0.12.1/numba_cuda/numba/cuda/runtime → numba_cuda-0.13.0/numba_cuda/numba/cuda/memory_management}/nrt.cu +0 -0
- {numba_cuda-0.12.1/numba_cuda/numba/cuda/runtime → numba_cuda-0.13.0/numba_cuda/numba/cuda/memory_management}/nrt.cuh +0 -0
- {numba_cuda-0.12.1/numba_cuda/numba/cuda/runtime → numba_cuda-0.13.0/numba_cuda/numba/cuda/memory_management}/nrt.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/models.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/nvvmutils.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/printimpl.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/random.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/reshape_funcs.cu +0 -0
- /numba_cuda-0.12.1/numba_cuda/numba/cuda/tests/data/__init__.py → /numba_cuda-0.13.0/numba_cuda/numba/cuda/simulator/_internal/cuda_bf16.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/cudadrv/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/cudadrv/devicearray.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/cudadrv/devices.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/cudadrv/drvapi.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/cudadrv/dummyarray.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/cudadrv/error.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/cudadrv/nvvm.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/cudadrv/runtime.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/reduction.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator/vector_types.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/simulator_init.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/stubs.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/target.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_array_attr.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_context_stack.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_array_slicing.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_auto_context.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_devicerecord.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_driver.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_libraries.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_memory.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_deallocations.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_detect.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_emm_plugins.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_events.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_host_alloc.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_init.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_inline_ptx.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_is_fp16.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_linker.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_managed_alloc.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_mvc.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_nvvm_driver.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_pinned.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_profiler.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_ptds.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_reset_device.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_runtime.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_select_device.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_streams.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/cache_usecases.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/cache_with_cpu_usecases.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/cg_cache_usecases.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/extensions_usecases.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/jitlink.ptx +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/recursion_usecases.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_alignment.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_array_args.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_array_methods.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_atomics.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_blackscholes.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_boolean.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_caching.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_casting.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_cffi.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_compiler.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_complex.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_complex_kernel.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_const_string.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_constmem.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_cuda_array_interface.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_cuda_jit_no_types.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_datetime.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_debug.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_debuginfo.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_device_func.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_dispatcher.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_errors.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_exception.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_fastmath.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_forall.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_freevar.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_frexp_ldexp.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_globals.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_gufunc.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_gufunc_scalar.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_gufunc_scheduling.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_idiv.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_inline.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_inspect.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_intrinsics.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_ipc.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_iterators.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_lang.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_laplace.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_libdevice.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_lineinfo.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_localmem.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_mandel.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_math.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_matmul.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_minmax.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_montecarlo.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_multigpu.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_multiprocessing.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_multithreads.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_nondet.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_operator.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_optimization.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_overload.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_powi.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_print.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_py2_div_issue.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_random.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_record_dtype.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_recursion.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_reduction.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_retrieve_autoconverted_arrays.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_serialize.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_slicing.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_sm.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_sm_creation.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_stream_api.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_sync.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_transpose.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_ufuncs.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_userexc.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_vector_type.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize_complex.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize_decor.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize_device.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_vectorize_scalar_arg.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_warning.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_warp_ops.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudasim/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudasim/support.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudasim/test_cudasim_issues.py +0 -0
- {numba_cuda-0.12.1/numba_cuda/numba/cuda/tests/doc_examples/ffi → numba_cuda-0.13.0/numba_cuda/numba/cuda/tests/data}/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/data/cta_barrier.cu +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/data/cuda_include.cu +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/data/error.cu +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/data/include/add.cuh +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/data/jitlink.cu +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/data/jitlink.ptx +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/data/warn.cu +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/ffi/functions.cu +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/ffi/include/mul.cuh +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/ffi/saxpy.cu +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/test_cg.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/test_cpu_gpu_compat.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/test_ffi.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/test_laplace.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/test_matmul.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/test_montecarlo.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/test_random.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/test_reduction.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/test_sessionize.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/test_ufunc.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/doc_examples/test_vecadd.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/nocuda/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/nocuda/test_dummyarray.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/nocuda/test_function_resolution.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/nocuda/test_import.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/nocuda/test_library_lookup.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/nocuda/test_nvvm.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/nrt/__init__.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/test_binary_generation/nrt_extern.cu +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/test_binary_generation/test_device_functions.cu +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/test_binary_generation/undefined_extern.cu +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/types.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/ufuncs.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/utils.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/vector_types.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/vectorizers.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda.egg-info/dependency_links.txt +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda.egg-info/requires.txt +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda.egg-info/top_level.txt +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/pyproject.toml +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/setup.cfg +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/setup.py +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/site-packages/_numba_cuda_redirector.pth +0 -0
- {numba_cuda-0.12.1 → numba_cuda-0.13.0}/site-packages/_numba_cuda_redirector.py +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
0.13.0
|
@@ -5,7 +5,7 @@ from numba.core.codegen import Codegen, CodeLibrary
|
|
5
5
|
from .cudadrv import devices, driver, nvvm, runtime
|
6
6
|
from numba.cuda.cudadrv.libs import get_cudalib
|
7
7
|
from numba.cuda.cudadrv.linkable_code import LinkableCode
|
8
|
-
from numba.cuda.
|
8
|
+
from numba.cuda.memory_management.nrt import NRT_LIBRARY
|
9
9
|
|
10
10
|
import os
|
11
11
|
import subprocess
|
@@ -397,7 +397,7 @@ def compile(src, name, cc, ltoir=False):
|
|
397
397
|
else:
|
398
398
|
extra_includes = []
|
399
399
|
|
400
|
-
nrt_path = os.path.join(numba_cuda_path, "
|
400
|
+
nrt_path = os.path.join(numba_cuda_path, "memory_management")
|
401
401
|
nrt_include = f"-I{nrt_path}"
|
402
402
|
|
403
403
|
options = [
|
@@ -27,8 +27,8 @@ from numba.cuda.errors import (
|
|
27
27
|
normalize_kernel_dimensions,
|
28
28
|
)
|
29
29
|
from numba.cuda import types as cuda_types
|
30
|
-
from numba.cuda.runtime.nrt import rtsys, NRT_LIBRARY
|
31
30
|
from numba.cuda.locks import module_init_lock
|
31
|
+
from numba.cuda.memory_management.nrt import rtsys, NRT_LIBRARY
|
32
32
|
|
33
33
|
from numba import cuda
|
34
34
|
from numba import _dispatcher
|
@@ -0,0 +1 @@
|
|
1
|
+
from numba.cuda.memory_management.nrt import rtsys # noqa: F401
|
@@ -38,11 +38,20 @@ if config.ENABLE_CUDASIM:
|
|
38
38
|
sys.modules["numba.cuda.cudadrv.devicearray"] = cudadrv.devicearray
|
39
39
|
sys.modules["numba.cuda.cudadrv.devices"] = cudadrv.devices
|
40
40
|
sys.modules["numba.cuda.cudadrv.driver"] = cudadrv.driver
|
41
|
+
sys.modules["numba.cuda.cudadrv.linkable_code"] = cudadrv.linkable_code
|
41
42
|
sys.modules["numba.cuda.cudadrv.runtime"] = cudadrv.runtime
|
42
43
|
sys.modules["numba.cuda.cudadrv.drvapi"] = cudadrv.drvapi
|
43
44
|
sys.modules["numba.cuda.cudadrv.error"] = cudadrv.error
|
44
45
|
sys.modules["numba.cuda.cudadrv.nvvm"] = cudadrv.nvvm
|
45
46
|
|
46
|
-
from . import compiler
|
47
|
+
from . import bf16, compiler, _internal
|
47
48
|
|
49
|
+
sys.modules["numba.cuda.bf16"] = bf16
|
48
50
|
sys.modules["numba.cuda.compiler"] = compiler
|
51
|
+
sys.modules["numba.cuda._internal"] = _internal
|
52
|
+
sys.modules["numba.cuda._internal.cuda_bf16"] = _internal.cuda_bf16
|
53
|
+
|
54
|
+
from numba.cuda.simulator import memory_management
|
55
|
+
|
56
|
+
sys.modules["numba.cuda.memory_management"] = memory_management
|
57
|
+
sys.modules["numba.cuda.memory_management.nrt"] = memory_management.nrt
|
@@ -0,0 +1 @@
|
|
1
|
+
from numba.cuda.simulator._internal import cuda_bf16 # noqa: F401
|
@@ -7,6 +7,15 @@ Contains CUDA API functions
|
|
7
7
|
from contextlib import contextmanager
|
8
8
|
|
9
9
|
from .cudadrv.devices import require_context, reset, gpus # noqa: F401
|
10
|
+
from .cudadrv.linkable_code import (
|
11
|
+
PTXSource, # noqa: F401
|
12
|
+
CUSource, # noqa: F401
|
13
|
+
Cubin, # noqa: F401
|
14
|
+
Fatbin, # noqa: F401
|
15
|
+
Archive, # noqa: F401
|
16
|
+
Object, # noqa: F401
|
17
|
+
LTOIR, # noqa: F401
|
18
|
+
) # noqa: F401
|
10
19
|
from .kernel import FakeCUDAKernel
|
11
20
|
from numba.core.sigutils import is_signature
|
12
21
|
from numba.core import config
|
@@ -22,6 +31,10 @@ def is_float16_supported():
|
|
22
31
|
return True
|
23
32
|
|
24
33
|
|
34
|
+
def is_bfloat16_supported():
|
35
|
+
return False
|
36
|
+
|
37
|
+
|
25
38
|
class stream(object):
|
26
39
|
"""
|
27
40
|
The stream API is supported in the simulator - however, all execution
|
@@ -72,6 +85,10 @@ def list_devices():
|
|
72
85
|
return gpus
|
73
86
|
|
74
87
|
|
88
|
+
def get_current_device():
|
89
|
+
return gpus[0].device
|
90
|
+
|
91
|
+
|
75
92
|
# Events
|
76
93
|
|
77
94
|
|
@@ -0,0 +1 @@
|
|
1
|
+
bfloat16 = None
|
@@ -3,6 +3,8 @@ Most of the driver API is unsupported in the simulator, but some stubs are
|
|
3
3
|
provided to allow tests to import correctly.
|
4
4
|
"""
|
5
5
|
|
6
|
+
from numba import config
|
7
|
+
|
6
8
|
|
7
9
|
def device_memset(dst, val, size, stream=0):
|
8
10
|
dst.view("u1")[:size].fill(bytes([val])[0])
|
@@ -60,3 +62,8 @@ def launch_kernel(*args, **kwargs):
|
|
60
62
|
|
61
63
|
|
62
64
|
USE_NV_BINDING = False
|
65
|
+
|
66
|
+
PyNvJitLinker = None
|
67
|
+
|
68
|
+
if config.ENABLE_CUDASIM:
|
69
|
+
config.CUDA_ENABLE_PYNVJITLINK = False
|
@@ -0,0 +1,57 @@
|
|
1
|
+
class LinkableCode:
|
2
|
+
"""An object that holds code to be linked from memory.
|
3
|
+
|
4
|
+
:param data: A buffer containing the data to link.
|
5
|
+
:param name: The name of the file to be referenced in any compilation or
|
6
|
+
linking errors that may be produced.
|
7
|
+
"""
|
8
|
+
|
9
|
+
def __init__(self, data, name=None):
|
10
|
+
self.data = data
|
11
|
+
self._name = name
|
12
|
+
|
13
|
+
@property
|
14
|
+
def name(self):
|
15
|
+
return self._name or self.default_name
|
16
|
+
|
17
|
+
|
18
|
+
class PTXSource(LinkableCode):
|
19
|
+
"""PTX source code in memory."""
|
20
|
+
|
21
|
+
default_name = "<unnamed-ptx>"
|
22
|
+
|
23
|
+
|
24
|
+
class CUSource(LinkableCode):
|
25
|
+
"""CUDA C/C++ source code in memory."""
|
26
|
+
|
27
|
+
default_name = "<unnamed-cu>"
|
28
|
+
|
29
|
+
|
30
|
+
class Fatbin(LinkableCode):
|
31
|
+
"""An ELF Fatbin in memory."""
|
32
|
+
|
33
|
+
default_name = "<unnamed-fatbin>"
|
34
|
+
|
35
|
+
|
36
|
+
class Cubin(LinkableCode):
|
37
|
+
"""An ELF Cubin in memory."""
|
38
|
+
|
39
|
+
default_name = "<unnamed-cubin>"
|
40
|
+
|
41
|
+
|
42
|
+
class Archive(LinkableCode):
|
43
|
+
"""An archive of objects in memory."""
|
44
|
+
|
45
|
+
default_name = "<unnamed-archive>"
|
46
|
+
|
47
|
+
|
48
|
+
class Object(LinkableCode):
|
49
|
+
"""An object file in memory."""
|
50
|
+
|
51
|
+
default_name = "<unnamed-object>"
|
52
|
+
|
53
|
+
|
54
|
+
class LTOIR(LinkableCode):
|
55
|
+
"""An LTOIR file in memory."""
|
56
|
+
|
57
|
+
default_name = "<unnamed-ltoir>"
|
@@ -63,7 +63,10 @@ class FakeCUDALocal(object):
|
|
63
63
|
CUDA Local arrays
|
64
64
|
"""
|
65
65
|
|
66
|
-
def array(self, shape, dtype):
|
66
|
+
def array(self, shape, dtype, alignment=None):
|
67
|
+
if alignment is not None:
|
68
|
+
raise RuntimeError("Array alignment is not supported in cudasim")
|
69
|
+
|
67
70
|
if isinstance(dtype, types.Type):
|
68
71
|
dtype = numpy_support.as_dtype(dtype)
|
69
72
|
return np.empty(shape, dtype)
|
@@ -102,7 +105,10 @@ class FakeCUDAShared(object):
|
|
102
105
|
self._dynshared_size = dynshared_size
|
103
106
|
self._dynshared = np.zeros(dynshared_size, dtype=np.byte)
|
104
107
|
|
105
|
-
def array(self, shape, dtype):
|
108
|
+
def array(self, shape, dtype, alignment=None):
|
109
|
+
if alignment is not None:
|
110
|
+
raise RuntimeError("Array alignment is not supported in cudasim")
|
111
|
+
|
106
112
|
if isinstance(dtype, types.Type):
|
107
113
|
dtype = numpy_support.as_dtype(dtype)
|
108
114
|
# Dynamic shared memory is requested with size 0 - this all shares the
|
@@ -0,0 +1 @@
|
|
1
|
+
from .nrt import rtsys # noqa: F401
|
@@ -116,20 +116,26 @@ def skip_on_arm(reason):
|
|
116
116
|
def skip_if_cuda_includes_missing(fn):
|
117
117
|
# Skip when cuda.h is not available - generally this should indicate
|
118
118
|
# whether the CUDA includes are available or not
|
119
|
-
|
119
|
+
reason = "CUDA include dir not available on this system"
|
120
|
+
try:
|
121
|
+
cuda_include_path = libs.get_cuda_include_dir()
|
122
|
+
except FileNotFoundError:
|
123
|
+
return unittest.skip(reason)(fn)
|
120
124
|
cuda_h = os.path.join(cuda_include_path, "cuda.h")
|
121
125
|
cuda_h_file = os.path.exists(cuda_h) and os.path.isfile(cuda_h)
|
122
|
-
reason = "CUDA include dir not available on this system"
|
123
126
|
return unittest.skipUnless(cuda_h_file, reason)(fn)
|
124
127
|
|
125
128
|
|
126
129
|
def skip_if_curand_kernel_missing(fn):
|
127
|
-
|
130
|
+
reason = "curand_kernel.h not available on this system"
|
131
|
+
try:
|
132
|
+
cuda_include_path = libs.get_cuda_include_dir()
|
133
|
+
except FileNotFoundError:
|
134
|
+
return unittest.skip(reason)(fn)
|
128
135
|
curand_kernel_h = os.path.join(cuda_include_path, "curand_kernel.h")
|
129
136
|
curand_kernel_h_file = os.path.exists(curand_kernel_h) and os.path.isfile(
|
130
137
|
curand_kernel_h
|
131
138
|
)
|
132
|
-
reason = "curand_kernel.h not available on this system"
|
133
139
|
return unittest.skipUnless(curand_kernel_h_file, reason)(fn)
|
134
140
|
|
135
141
|
|
{numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_cuda_ndarray.py
RENAMED
@@ -476,12 +476,14 @@ class TestArrayMethod(CUDATestCase):
|
|
476
476
|
host_array, dev_array.copy_to_host().astype(dtype)
|
477
477
|
)
|
478
478
|
|
479
|
+
@skip_on_cudasim("Simulator does not use __array__()")
|
479
480
|
@unittest.skipUnless(IS_NUMPY_2, "NumPy 1.x does not pass copy kwarg")
|
480
481
|
def test_np_array_copy_false(self):
|
481
482
|
dev_array = cuda.to_device(np.asarray([1.0, 2.0, 3.0]))
|
482
483
|
with self.assertRaisesRegex(ValueError, "`copy=False` is not"):
|
483
484
|
np.array(dev_array, copy=False)
|
484
485
|
|
486
|
+
@skip_on_cudasim("Simulator does not use __array__()")
|
485
487
|
@unittest.skipUnless(IS_NUMPY_2, "NumPy 1.x does not pass copy kwarg")
|
486
488
|
def test_np_array_copy_true(self):
|
487
489
|
dev_array = cuda.to_device(np.asarray([1.0, 2.0, 3.0]))
|
{numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_module_callbacks.py
RENAMED
@@ -5,14 +5,19 @@ import numpy as np
|
|
5
5
|
|
6
6
|
from numba import cuda, config
|
7
7
|
from numba.cuda.cudadrv.linkable_code import CUSource
|
8
|
-
from numba.cuda.testing import
|
8
|
+
from numba.cuda.testing import (
|
9
|
+
CUDATestCase,
|
10
|
+
ContextResettingTestCase,
|
11
|
+
skip_on_cudasim,
|
12
|
+
)
|
9
13
|
|
10
|
-
|
14
|
+
if not config.ENABLE_CUDASIM:
|
15
|
+
from cuda.bindings.driver import cuModuleGetGlobal, cuMemcpyHtoD
|
11
16
|
|
12
|
-
if config.CUDA_USE_NVIDIA_BINDING:
|
13
|
-
|
14
|
-
else:
|
15
|
-
|
17
|
+
if config.CUDA_USE_NVIDIA_BINDING:
|
18
|
+
from cuda.cuda import CUmodule as cu_module_type
|
19
|
+
else:
|
20
|
+
from numba.cuda.cudadrv.drvapi import cu_module as cu_module_type
|
16
21
|
|
17
22
|
|
18
23
|
def wipe_all_modules_in_context():
|
@@ -32,6 +37,7 @@ def get_hashable_handle_value(handle):
|
|
32
37
|
return handle
|
33
38
|
|
34
39
|
|
40
|
+
@skip_on_cudasim("Module loading not implemented in the simulator")
|
35
41
|
class TestModuleCallbacksBasic(ContextResettingTestCase):
|
36
42
|
def test_basic(self):
|
37
43
|
counter = 0
|
@@ -136,6 +142,7 @@ class TestModuleCallbacksBasic(ContextResettingTestCase):
|
|
136
142
|
self.assertEqual(len(teardown_seen), 2)
|
137
143
|
|
138
144
|
|
145
|
+
@skip_on_cudasim("Module loading not implemented in the simulator")
|
139
146
|
class TestModuleCallbacksAPICompleteness(CUDATestCase):
|
140
147
|
def test_api(self):
|
141
148
|
def setup(handle):
|
@@ -164,6 +171,7 @@ class TestModuleCallbacksAPICompleteness(CUDATestCase):
|
|
164
171
|
kernel[1, 1]()
|
165
172
|
|
166
173
|
|
174
|
+
@skip_on_cudasim("Module loading not implemented in the simulator")
|
167
175
|
class TestModuleCallbacks(CUDATestCase):
|
168
176
|
def setUp(self):
|
169
177
|
super().setUp()
|
@@ -213,6 +221,7 @@ __device__ int get_num(int &retval) {
|
|
213
221
|
self.assertEqual(arr[0], 42)
|
214
222
|
|
215
223
|
|
224
|
+
@skip_on_cudasim("Module loading not implemented in the simulator")
|
216
225
|
class TestMultithreadedCallbacks(CUDATestCase):
|
217
226
|
def test_concurrent_initialization(self):
|
218
227
|
seen_mods = set()
|
{numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudadrv/test_nvjitlink.py
RENAMED
@@ -267,6 +267,7 @@ class TestLinker(CUDATestCase):
|
|
267
267
|
not PYNVJITLINK_INSTALLED or not TEST_BIN_DIR,
|
268
268
|
reason="pynvjitlink not enabled",
|
269
269
|
)
|
270
|
+
@skip_on_cudasim("Linking unsupported in the simulator")
|
270
271
|
class TestLinkerUsage(CUDATestCase):
|
271
272
|
"""Test that whether pynvjitlink can be enabled by both environment variable
|
272
273
|
and modification of config at runtime.
|
@@ -310,9 +310,6 @@ class TestCudaArray(CUDATestCase):
|
|
310
310
|
check(array_reshape, array_reshape1d, arr, 0)
|
311
311
|
check(array_reshape, array_reshape1d, arr, (0,))
|
312
312
|
check(array_reshape, array_reshape3d, arr, (1, 0, 2))
|
313
|
-
check_only_shape(array_reshape2d, arr, (0, -1), (0, 0))
|
314
|
-
check_only_shape(array_reshape2d, arr, (4, -1), (4, 0))
|
315
|
-
check_only_shape(array_reshape3d, arr, (-1, 0, 4), (0, 0, 4))
|
316
313
|
|
317
314
|
# C-contiguous
|
318
315
|
arr = np.arange(24)
|
{numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_array_alignment.py
RENAMED
@@ -3,7 +3,11 @@ import itertools
|
|
3
3
|
import numpy as np
|
4
4
|
from numba import cuda
|
5
5
|
from numba.core.errors import TypingError
|
6
|
-
from numba.cuda.testing import
|
6
|
+
from numba.cuda.testing import (
|
7
|
+
CUDATestCase,
|
8
|
+
skip_on_cudasim,
|
9
|
+
skip_unless_cudasim,
|
10
|
+
)
|
7
11
|
import unittest
|
8
12
|
|
9
13
|
|
@@ -65,6 +69,7 @@ for align in (True, False):
|
|
65
69
|
# with the test_alignment.TestArrayAlignment class.
|
66
70
|
|
67
71
|
|
72
|
+
@skip_on_cudasim("Array alignment not supported on cudasim")
|
68
73
|
class TestArrayAddressAlignment(CUDATestCase):
|
69
74
|
"""
|
70
75
|
Test cuda.local.array and cuda.shared.array support for an alignment
|
@@ -232,5 +237,24 @@ class TestArrayAddressAlignment(CUDATestCase):
|
|
232
237
|
print(".", end="", flush=True)
|
233
238
|
|
234
239
|
|
240
|
+
@skip_unless_cudasim("Only check for alignment unsupported in the simulator")
|
241
|
+
class TestCudasimUnsupportedAlignment(CUDATestCase):
|
242
|
+
def test_local_unsupported(self):
|
243
|
+
@cuda.jit
|
244
|
+
def f():
|
245
|
+
cuda.local.array(1, dtype=np.uint8, alignment=16)
|
246
|
+
|
247
|
+
with self.assertRaisesRegex(RuntimeError, "not supported in cudasim"):
|
248
|
+
f[1, 1]()
|
249
|
+
|
250
|
+
def test_shared_unsupported(self):
|
251
|
+
@cuda.jit
|
252
|
+
def f():
|
253
|
+
cuda.shared.array(1, dtype=np.uint8, alignment=16)
|
254
|
+
|
255
|
+
with self.assertRaisesRegex(RuntimeError, "not supported in cudasim"):
|
256
|
+
f[1, 1]()
|
257
|
+
|
258
|
+
|
235
259
|
if __name__ == "__main__":
|
236
260
|
unittest.main()
|
@@ -23,6 +23,15 @@ class TestBfloat16HighLevelBindings(CUDATestCase):
|
|
23
23
|
|
24
24
|
def test_math_bindings(self):
|
25
25
|
self.skip_unsupported()
|
26
|
+
|
27
|
+
exp_functions = [math.exp]
|
28
|
+
try:
|
29
|
+
from math import exp2
|
30
|
+
|
31
|
+
exp_functions += [exp2]
|
32
|
+
except ImportError:
|
33
|
+
pass
|
34
|
+
|
26
35
|
functions = [
|
27
36
|
math.trunc,
|
28
37
|
math.ceil,
|
@@ -33,9 +42,7 @@ class TestBfloat16HighLevelBindings(CUDATestCase):
|
|
33
42
|
math.cos,
|
34
43
|
math.sin,
|
35
44
|
math.tanh,
|
36
|
-
|
37
|
-
math.exp2,
|
38
|
-
]
|
45
|
+
] + exp_functions
|
39
46
|
|
40
47
|
for f in functions:
|
41
48
|
with self.subTest(func=f):
|
@@ -49,7 +56,7 @@ class TestBfloat16HighLevelBindings(CUDATestCase):
|
|
49
56
|
arr = cuda.device_array((1,), dtype="float32")
|
50
57
|
kernel[1, 1](arr)
|
51
58
|
|
52
|
-
if f in
|
59
|
+
if f in exp_functions:
|
53
60
|
self.assertAlmostEqual(arr[0], f(3.14), delta=1e-1)
|
54
61
|
else:
|
55
62
|
self.assertAlmostEqual(arr[0], f(3.14), delta=1e-2)
|
{numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_bfloat16_bindings.py
RENAMED
@@ -2,29 +2,40 @@ import numba.cuda as cuda
|
|
2
2
|
from numba.cuda.testing import unittest, CUDATestCase
|
3
3
|
import numpy as np
|
4
4
|
|
5
|
-
from numba import
|
5
|
+
from numba import (
|
6
|
+
config,
|
7
|
+
int16,
|
8
|
+
int32,
|
9
|
+
int64,
|
10
|
+
uint16,
|
11
|
+
uint32,
|
12
|
+
uint64,
|
13
|
+
float32,
|
14
|
+
float64,
|
15
|
+
)
|
6
16
|
from numba.types import float16
|
7
17
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
18
|
+
if not config.ENABLE_CUDASIM:
|
19
|
+
from numba.cuda._internal.cuda_bf16 import (
|
20
|
+
nv_bfloat16,
|
21
|
+
htrunc,
|
22
|
+
hceil,
|
23
|
+
hfloor,
|
24
|
+
hrint,
|
25
|
+
hsqrt,
|
26
|
+
hrsqrt,
|
27
|
+
hrcp,
|
28
|
+
hlog,
|
29
|
+
hlog2,
|
30
|
+
hlog10,
|
31
|
+
hcos,
|
32
|
+
hsin,
|
33
|
+
hexp,
|
34
|
+
hexp2,
|
35
|
+
hexp10,
|
36
|
+
htanh,
|
37
|
+
htanh_approx,
|
38
|
+
)
|
28
39
|
|
29
40
|
dtypes = [int16, int32, int64, uint16, uint32, uint64, float32]
|
30
41
|
|
@@ -263,6 +274,8 @@ class Bfloat16Test(CUDATestCase):
|
|
263
274
|
np.testing.assert_allclose(arr, [8], atol=1e-2)
|
264
275
|
|
265
276
|
def test_use_binding_inside_dfunc(self):
|
277
|
+
self.skip_unsupported()
|
278
|
+
|
266
279
|
@cuda.jit(device=True)
|
267
280
|
def f(arr):
|
268
281
|
pi = nv_bfloat16(3.14)
|
@@ -157,6 +157,7 @@ class TestCudaCooperativeGroups(CUDATestCase):
|
|
157
157
|
self.assertEqual(blocks1d, blocks2d)
|
158
158
|
self.assertEqual(blocks1d, blocks3d)
|
159
159
|
|
160
|
+
@skip_on_cudasim("External code unsupported on cudasim")
|
160
161
|
@skip_unless_cc_60
|
161
162
|
def test_external_cooperative_func(self):
|
162
163
|
cudapy_test_path = os.path.dirname(__file__)
|
@@ -171,12 +172,13 @@ class TestCudaCooperativeGroups(CUDATestCase):
|
|
171
172
|
"cta_barrier", sig=sig, link=[src], use_cooperative=True
|
172
173
|
)
|
173
174
|
|
174
|
-
@cuda.jit
|
175
|
+
@cuda.jit("void()")
|
175
176
|
def kernel():
|
176
177
|
cta_barrier()
|
177
178
|
|
179
|
+
overload = kernel.overloads[()]
|
178
180
|
block_size = 32
|
179
|
-
grid_size =
|
181
|
+
grid_size = overload.max_cooperative_grid_blocks(block_size)
|
180
182
|
|
181
183
|
kernel[grid_size, block_size]()
|
182
184
|
|
@@ -116,6 +116,7 @@ class EnumTest(CUDATestCase):
|
|
116
116
|
got = cuda_func(arr)
|
117
117
|
self.assertPreciseEqual(expected, got)
|
118
118
|
|
119
|
+
@skip_on_cudasim("No typing context in CUDA simulator")
|
119
120
|
def test_int_enum_no_conversion(self):
|
120
121
|
# Ported from Numba PR #10047: "Fix IntEnumMember.can_convert_to() when
|
121
122
|
# no conversions found", https://github.com/numba/numba/pull/10047.
|
{numba_cuda-0.12.1 → numba_cuda-0.13.0}/numba_cuda/numba/cuda/tests/cudapy/test_extending.py
RENAMED
@@ -191,7 +191,9 @@ if TEST_BIN_DIR:
|
|
191
191
|
)
|
192
192
|
|
193
193
|
|
194
|
+
@skip_on_cudasim("Extensions not supported in the simulator")
|
194
195
|
class TestExtendingLinkage(CUDATestCase):
|
196
|
+
@unittest.skipUnless(TEST_BIN_DIR, "Necessary binaries are not available")
|
195
197
|
def test_extension_adds_linkable_code(self):
|
196
198
|
cuda_major_version = cuda.runtime.get_version()[0]
|
197
199
|
|
File without changes
|