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