CUDA 次要版本兼容性

CUDA 内置目标弃用通知

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

CUDA 次要版本兼容性(MVC)允许使用比驱动程序支持的 CUDA 版本更新的 CUDA Toolkit 版本,前提是 Toolkit 和驱动程序都具有相同的主版本。例如,通过 MVC 支持 CUDA Toolkit 11.5 与 CUDA 驱动程序 450(CUDA 版本 11.0)一起使用。

Numba 支持在 Linux 上使用外部 pynvjitlink 包实现 CUDA 12 的 MVC。

Numba 支持在 Linux 上使用外部 cubinlinkerptxcompiler 包实现 CUDA 11 的 MVC,但受以下限制:

  • 不支持归档链接。

  • 不支持协作组,因为它们需要链接归档。

Windows 上不支持 MVC。

安装

CUDA 12

要使用 MVC 支持,必须安装 pynvjitlink 包。要使用 conda 安装,请使用

conda install -c rapidsai pynvjitlink

要使用 pip 安装,请使用 NVIDIA 包索引

pip install --extra-index-url https://pypi.nvidia.com pynvjitlink-cu12

CUDA 11

要使用 MVC 支持,必须从相应的通道安装 cubinlinkerptxcompiler 编译器包。要使用 conda 安装,请使用

conda install -c rapidsai -c conda-forge cubinlinker ptxcompiler

要使用 pip 安装,请使用 NVIDIA 包索引

pip install --extra-index-url https://pypi.nvidia.com ptxcompiler-cu11 cubinlinker-cu11

启用 MVC 支持

通过设置环境变量来启用 MVC 支持

export NUMBA_CUDA_ENABLE_MINOR_VERSION_COMPATIBILITY=1

或者在使用 Numba 中的任何 CUDA 功能之前设置配置变量

from numba import config
config.CUDA_ENABLE_MINOR_VERSION_COMPATIBILITY = True

参考资料

有关次要版本兼容性的更多信息可在以下文档中找到: