Cuda找不到cudaGetDevice方法

Cuda找不到cudaGetDevice方法

確切的錯誤:

CUDA error at ../../common/inc/helper_cuda.h:1263 code=30(cudaErrorUnknown) "cudaGetDevice(&dev)"

我正在為張量流 GPU 安裝 cuda。我安裝了cuda 8(如下這些ubuntu 16.04 的說明),並且我在測試可寫入範例時遇到錯誤(該連結中的第 6.2.1 節)。我在所有樣本中不斷收到該錯誤,並且我在谷歌上搜索不到該錯誤(只有 cudaGetDeviceCount() 錯誤)。這可能是什麼?我最初偶然安裝了 cuda 9.1 工具包(tensorflow 需要 8.0),但我完全卸載了它並刪除了與其關聯的任何路徑變數或目錄。

當執行 makefile 應該在範例目錄中建立的執行檔時,會出現該錯誤,並且 make 檔案本身會產生以下警告/錯誤:

nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).

我認為 make 檔案根本不會創建任何東西,因為 make 檔案最後也會運行這個:

cp simpleZeroCopy ../../bin/x86_64/linux/release

它從所有範例的快取可執行檔的某個目錄複製可執行檔。該範例的 makefile 和原始程式碼很大,我不知道它們是否對此有幫助,但如果需要,我會發布它們。

我嘗試運行的這個示例代碼是直接來自 cuda,所以沒有一個是由我編寫的,這讓我相信我可能缺少某種類型的 NVIDIA 驅動程序,或者我只是錯誤地安裝了 cuda/沒有設置適當的路徑變數(儘管我很確定我做得很好)。

我運行的是 ubuntu 16.04,x86_64,顯示卡是 gtx 780 ti。

我想澄清一下,錯誤是在安裝tensorflow-gpu之前發生的。他們的指示是先單獨安裝cuda,然後安裝tensorflow。我在張量流安裝之前測試 cuda 時遇到此錯誤

編輯:路徑變數是:

$路徑:

/usr/local/cuda-8.0/bin:/home/maurcio/anaconda3/bin:/home/maurcio/bin:/home/maurcio/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:.

$LD_LIBRARY_PATH:

/usr/local/cuda-8.0/lib64

答案1

您的安裝說明連結不好。看一眼https://docs.google.com/viewer?url=https%3A%2F%2Fdeveloper.download.nvidia.com%2Fcompute%2Fcuda%2F9.1%2FProd%2Fdocs%2Fsidebar%2FCUDA_Installation_Guide_Linux.pdf&pdf=true

基本上,使用 Ubuntu 提供的驅動程式(如果可能的話,不確定 980 ti),使用 Intel deb cuda 安裝,並安裝 Ubuntu cuda 包,它會取得工具包。將範例複製到可寫入位置,修改路徑,CUDA 應該可以工作。

相關內容