簡體   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