使用CL / cl.h文件编译OpenCL程序

问题描述 投票:18回答:3

我有样品“Hello,World!”来自网络的代码,我想在我大学的服务器上的GPU上运行它。当我输入“gcc main.c”时,它会响应:

CL / cl.h:没有这样的文件或目录

我该怎么办?我怎么能有这个头文件?

opencl gpu gpu-programming
3个回答
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

13
投票

你在使用UbuntuDebian发行版吗?然后你可以使用这个包解决丢失头文件的问题:

apt-get install opencl-headers

你必须安装opencl库来解决使用DebianUbuntu包的链接问题:

apt-get install ocl-icd-libopencl1

您还可以使用这些非免费库:qazxsw poi(Debian)或qazxsw poi(Ubuntu)。


-2
投票

编译main.c时,请确保包含cl.h头文件的路径。如果您需要更多详细信息,请使用Google并搜索包含gcc标题的内容。

© www.soinside.com 2019 - 2024. All rights reserved.