![](/img/trans.png)
[英]GPU Compute Capability 3.0 but the minimum required Cuda capability is 3.5
[英]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.