CUDA绑定

CUDA 内置目标弃用通知

Numba内置的CUDA目标已被弃用,进一步的开发已转移到NVIDIA numba-cuda 包。请参阅内置CUDA目标弃用和维护状态

Numba支持两种CUDA驱动程序API绑定:其基于ctypes的内部绑定,以及官方的NVIDIA CUDA Python绑定。两种绑定之间的功能是等效的。

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

每线程默认流

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

另请参阅

NVIDIA绑定文档中的默认流部分

路线图

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

在未来的Numba版本中

  • 内部绑定将被弃用。

  • 内部绑定将被移除。

目前,尚未计划任何特定版本来弃用或移除内部绑定。