Cuda 找不到 cudaGetDevice 方法

Cuda 找不到 cudaGetDevice 方法

确切的错误:

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

我正在为 tensorflow 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。我在安装 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 应该可以工作。

相关内容