![](/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.