CUDA 绑定

Numba 支持两种 CUDA Driver API 的绑定:基于 ctypes 的内部绑定,以及官方的 NVIDIA CUDA Python 绑定。这两种绑定的功能是等效的。

默认使用内部绑定。如果安装了NVIDIA绑定,则可以通过在导入Numba之前将环境变量``NUMBA_CUDA_USE_NVIDIA_BINDING``设置为``1``来使用它们。一旦导入了Numba,所选的绑定就不能更改。

每个线程的默认流

处理每个线程默认流 (PTDS) 的责任在 NVIDIA 绑定被使用时被委托给 NVIDIA 绑定。要在使用 NVIDIA 绑定时使用 PTDS,请将环境变量 CUDA_PYTHON_CUDA_PER_THREAD_DEFAULT_STREAM 设置为 1,而不是 Numba 的环境变量 NUMBA_CUDA_PER_THREAD_DEFAULT_STREAM

参见

NVIDIA Bindings 文档中的 默认流部分

路线图

在 Numba 0.56 中,如果已安装,默认将使用 NVIDIA 绑定。

在Numba的未来版本中:

  • 内部绑定将被弃用。

  • 内部绑定将被移除。

目前,没有计划发布关于内部绑定弃用或移除的具体版本。