【发布时间】:2017-05-09 12:46:03
【问题描述】:
我在我的 PC 上成功安装了 CUDA 8.0,我可以通过在我的 Ubuntu 16.10 中运行以下命令来查看它的文件:
$ sudo find / -name nvcc
/usr/local/cuda-8.0/bin/nvcc
$ sudo find / -name cuda
/usr/local/cuda
/usr/local/cuda-8.0/targets/x86_64-linux/include/thrust/system/cuda
/usr/share/doc/cuda
/usr/include/nvidia-367/cuda
然后,我得到以下源代码(has_cuda.c)来检查是否安装了CUDA:
#include<cuda.h>
int main ()
{
int deviceCount;
cudaError_t e = cudaGetDeviceCount(&deviceCount);
return e == cudaSuccess ? deviceCount : -1;
}
但运行此代码会返回以下错误:
$ gcc has_cuda.c
has_cuda.c:1:17: fatal error: cuda.h: No such file or directory
#include<cuda.h>
^
compilation terminated.
我在我的目录中查找了 cuda.h,并在以下位置找到了它们:
$ sudo find / -name cuda.h
/usr/local/cuda-8.0/targets/x86_64-linux/include/cuda.h
/usr/include/nvidia-367/cuda/cuda.h
/usr/include/linux/cuda.h
/usr/src/linux-headers-4.8.0-22/include/linux/cuda.h
/usr/src/linux-headers-4.8.0-22/include/uapi/linux/cuda.h
/usr/src/linux-headers-4.8.0-32/include/linux/cuda.h
/usr/src/linux-headers-4.8.0-32/include/uapi/linux/cuda.h
我在这方面很菜鸟,所以,会发生什么?我是否必须导出任何变量以指出 cuda.h 在哪里?我该怎么做?
【问题讨论】:
-
附带说明,查找头文件的更快方法:
locate cuda.h。这当然是假设您的定位数据库是最新的(即,如果您刚刚安装了 CUDA,它不会找到它)。