繁体   English   中英

Numba GPU 支持具有计算能力 2.1 的 NVIDIA

[英]Numba GPU support for NVIDIA with compute capability 2.1

我似乎无法理解 numba 关于 cuda 支持的要求。 在这里( https://numba.pydata.org/numba-doc/latest/cuda/overview.html )它指出我需要高于 2.0 的计算能力,我有一个 2.1 的 NVIDIA GeForce 820M,所以我想没关系,但在这里( https://numba.readthedocs.io/en/stable/user/installing.html )它声明我需要 3.0 或更高版本,即使这样它也已停产。 另外,当我从命令提示符运行“nvcc --version”时,我得到

nvcc:NVIDIA (R) Cuda 编译器驱动程序 版权所有 (c) 2005-2022 NVIDIA Corporation 构建于 Tue_May__3_19:00:59_Pacific_Daylight_Time_2022 Cuda 编译工具,版本 11.7,V11.7.64 构建 cuda_11.7.r11.7/compiler.31294372_0

但我在运行时不断收到错误

from numba import cuda
gpu = cuda.get_current_device()

作为:

CudaDriverError:驱动程序缺少功能:cuDeviceGetUuid。 需要 CUDA 9.2 或更高版本。

我究竟做错了什么?

这个问题有很多困惑,所以让我们分解一下。

你有一个非常旧的 GPU。 太老了,以至于在 2017 年不推荐使用并从 CUDA 中删除了对它的支持。没有现代版本的 Numba 将支持它。

在这里( https://numba.pydata.org/numba-doc/latest/cuda/overview.html )它指出我需要高于 2.0 的计算能力

我认为 Numba 从未真正支持过计算 2.x 设备。 它依赖于 libnvvm(NVIDIA 的 lvvm 到 PTX 编译器库)并且只支持计算 3.x 和更新的设备 IIRC。 但无论如何,对你的 GPU 的支持(如果存在)在很久以前就从 CUDA(以及扩展的 Numba)中删除了。

当我从命令提示符运行“nvcc --version”时,我得到

nvcc:NVIDIA (R) Cuda 编译器驱动程序 版权所有 (c) 2005-2022 NVIDIA Corporation 构建于 Tue_May__3_19:00:59_Pacific_Daylight_Time_2022 Cuda 编译工具,版本 11.7,V11.7.64 构建 cuda_11.7.r11.7/compiler.31294372_0

但我在运行时不断收到错误

您拥有的 nvcc 版本与您的 GPU 是否受支持以及 Numba 是否可以正常工作无关。 CUDA 11.7 不支持您的 GPU。 据我所知,CUDA 8.0 是最后一个支持计算 2.1 的 CUDA 版本。

但我在运行时不断收到错误

from numba import cuda gpu = cuda.get_current_device()

作为:

CudaDriverError:驱动程序缺少功能:cuDeviceGetUuid。 需要 CUDA 9.2 或更高版本。

这是因为您的非常旧的 GPU 需要非常旧的驱动程序系列,并且该驱动程序系列无法支持 CUDA 9.0 发布后添加到 CUDA 的任何功能。 Numba 内部人员告诉您他们无法工作,因为您的驱动程序太旧了。 但是没有适用于您的 GPU 的更新驱动程序。

总之,你有一个旧的 GPU。 它没有 CUDA 支持。 它没有 Numba 支持(可能从来没有任何 Numba 支持)。 您唯一的解决方案是使用不同的 GPU。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM