无法在 Mac OSX 上设置 OpenCL

Can't setup OpenCL on Mac OSX

本文关键字:设置 OpenCL OSX Mac      更新时间:2023-10-16

所以我启动了OpenCL,但无法在我的Air'13上使用Mavericks和C++主机。这是代码。

#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的好书?

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

推荐学习OpenCL的典型书籍有《OpenCL编程指南》(Munshi,Gaster,Mattson,Fung,Ginsberg)和《使用OpenCL的异构计算》(Gaster,Howes,Kaeli)。网上还有很多免费的教程,比如Github上的Hands-on OpenCL教程。