我一直在使用OpenCL 1.2,但在使用OpenCL C++包装器API时遇到了问题(
https://www.khronos.org/registry/OpenCL/specs/opencl-cplusplus-1.2.pdf
).
它没有说明在kerenel(cl)文件中包含类“class MyClass”的任何限制,我认为这是可能的,因为平台、设备和上下文都是“类”(如果不是,那么它的目标是什么?X_X)
好吧,我在a中有以下简单的类“
打印机h类
“文件:
class Printer{
public:
void print();
}
在
氯
文件I有以下几行:
#include "printer.h"
__kernel void hello()
{
Printer myPrinter;
//myPrinter.print();
}
但是,当我在cpp程序中构建此内核文件时,会出现以下错误:
未知类型名称“class”
. 我读过这篇文章
Passing Class to a Kernel in Intel Opencl
这建议使用SYCL,但是,根据标准和包装器,没有其他“更容易”的方法吗?
谢谢你的帮助