无法在Mac OSX上设置OpenCL

时间:2014-04-14 23:54:02

标签: c++ xcode opencl

所以我开始使用OpenCL但是无法使用Mavericks和C ++主机在Air'13上工作。 这是代码。

#include <iostream>
#include <vector>
#include "OpenCL/opencl.h"
int main()
{
    std::vector<cl::Platform> platforms;
    cl::Platform::get(&platforms);
    cl_int cl::Platform::get(&platforms);
}

当我尝试访问cl::Platform库时,编译器(Xcode)抛出错误Use of undeclared Identifier我尝试过几件事,主要是将头文件更改为cl.h和OpenCL框架中的其他几个。如何让它工作,苹果网站声称Air支持OpenCL 1.2。

附录 - 什么是开始学习OpenCL的好书?

1 个答案:

答案 0 :(得分:10)

您的代码段正在使用OpenCL C ++绑定,这些绑定在与主OpenCL API(即C)不同的头文件中定义。默认情况下,您需要的标题(cl.hpp)不包含在OS X系统中,因此您必须直接从Khronos OpenCL Registry下载它(确保您获得版本)列于1.2)。然后,您只需要在代码中包含此标头。

推荐用于学习OpenCL的典型书籍是&#34; OpenCL编程指南(Munshi,Gaster,Mattson,Fung,Ginsberg)&#34;和#34;使用OpenCL进行异构计算(Gaster,Howes,Kaeli)&#34;。网上还有大量免费的教程资料,例如Hands-on OpenCL tutorial on Github