我有样品“Hello,World!”来自网络的代码,我想在我大学的服务器上的GPU上运行它。当我输入“gcc main.c”时,它会响应:
CL / cl.h:没有这样的文件或目录
我该怎么办?我怎么能有这个头文件?
答案 0 :(得分:19)
确保安装了相应的工具包。
这取决于您打算运行代码的内容。如果您有NVidia卡,则需要下载并安装CUDA-toolkit,其中还包含opencl所需的二进制文件和库。
你在运行Linux吗?如果您认为已安装OpenCL,则可能是在与标准/ usr / include不同的位置找到它。输入以下内容,看看你得到了什么结果:
find / -iname cl.h 2>/dev/null
例如,在我的笔记本电脑上,标题位于/usr/local/cuda-5.5/include
。如果它的情况是您的头文件位于不同的位置,您只需在复杂化期间指定路径
g++ -I/usr/local/cuda-5.5/include main.c -lOpenCL
或者,您可以从/usr/include
:
ln -s /usr/local/cuda-5.5/include/CL /usr/include
答案 1 :(得分:13)
您使用的是Ubuntu还是Debian发行版?然后你可以使用这个包来解决缺少头文件的问题:
apt-get install opencl-headers
您必须安装opencl
库才能使用Debian和Ubuntu包解决链接问题:
apt-get install ocl-icd-libopencl1
您还可以使用这些 nonfree 库:nvidia-libopencl1
(Debian)或nvidia-libopencl1-xx
(Ubuntu)。
答案 2 :(得分:-2)
编译main.c时,请确保包含cl.h头文件的路径。如果您需要更多详细信息,请使用Google并搜索包含gcc的标题。