如何在最新的Xilinx Vivado(2014.2)中进行OpenCL编程?

时间:2014-08-11 10:02:49

标签: opencl xilinx

我用了一个简单的“Hello,world”。 OpenCL程序,版本为2014.2 Xilinx Vivado IDE,声明为OpenCL support。其中一个代码段如下:

#include <CL/opencl.h>

...

// Connect to a compute device

//

int gpu = 1;

err = clGetDeviceIDs(NULL, gpu ? CL_DEVICE_TYPE_GPU : CL_DEVICE_TYPE_CPU, 1, &device_id, NULL);

if (err != CL_SUCCESS)

{

    printf("Error: Failed to create a device group!\n");

    return EXIT_FAILURE;

}

然而,似乎这个Vivado无法识别标题“CL / opencl.h”和cl相关的函数。我通过在我当前的Vivado HLS项目中手动放置一个外部CL目录(从CUDA SDK派生)解决了头问题,但它仍然报告错误,如“function'clGetDeviceIDs'没有函数体”。

2 个答案:

答案 0 :(得分:1)

#include <CL/opencl.h>是如何在Mac OS X上完成的,但在Windows上它通常是#include <CL/cl.h>。你找到了你的CL include文件夹吗?你告诉IDE它在哪里吗?这听起来像你的第二个问题(在你解决了第一个问题之后)是你没有链接到OpenCL.lib(或你的平台上的任何库扩展)。您也需要找到它并链接到它。在支持ICD的平台上,可以使用Khronos lib并动态定位已安装的驱动程序,但在您的平台上可能会有所不同,请参阅Xilinx指令。

答案 1 :(得分:-1)

似乎在我的Vivado 2015.2中加入clc.h就可以了。