小编Dan*_*pez的帖子

如何在OpenCL内核中包含一个C++类

我一直在使用OpenCL 1.2,我遇到了OpenCL C++ Wrapper API(https://www.khronos.org/registry/OpenCL/specs/opencl-cplusplus-1.2.pdf)的问题.

它没有说明在kerenel(cl)文件中包含类"class MyClass"的任何限制,我认为它是可能的,因为Platform,Device和Context是"Classes"(如果没有,那么它的目标是什么呢? ?X_X)

好吧,我在" printer.h "文件中有以下简单类:

class Printer{

    public:
        void print();
}
Run Code Online (Sandbox Code Playgroud)

cl文件中,我有以下几行:

#include "printer.h"
__kernel void hello()
{
    Printer myPrinter;
    //myPrinter.print();
}
Run Code Online (Sandbox Code Playgroud)

但是当我在我的cpp程序中构建这个内核文件时,它会带来错误:未知类型名称'class'.我已经阅读了将文章传递给英特尔Opencl的内核,建议使用SYCL,但是,根据标准和包装器,没有其他方法"更容易"吗?

谢谢你的帮助

c++ opencl

4
推荐指数
1
解决办法
662
查看次数

标签 统计

c++ ×1

opencl ×1