gpt4 book ai didi

c++ - 我可以在 OpenCL 内核中嵌入 C++ 类吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:05:23 31 4
gpt4 key购买 nike

是否有可能在 OpenCL 内核中使用自定义 C++ 类?它应该像这样工作:

#include "element.cpp"
__kernel void do_something(__global element* input, __global element* output);
{
int index = get_global_id(0);
output[index] = input[index].update(index);
}

这很有趣,因为您可以指定之后必须在 element::update(int no) 中完成的工作。

我没有让它工作。这是 OpenCL 编译器告诉我的:

unknown type name 'class'

在 CUDA 中这是有效的。如果 OpenCL 内核中的对象方法不起作用,还有其他想法吗?

提前感谢您的提示!

最佳答案

我相信 OpenCL 遵循 C99 语言规范而不是 C++。 OpenCL is going on 的 C++ 版本规范.我相信 AMD APP 已经实现了 OpenCL 的 C++ 版本。回到你的问题,我认为最好有一个结构作为 C++ 和 C 之间的接口(interface)。如果你迫切需要这样做,C++ 版本应该是 C 实现的包装器。

编辑:我无法将其放在评论中,因此将其放在此处。 AMD 围绕 OpenCL 的 C++ 库包括 static C++ libraryBolt .

关于c++ - 我可以在 OpenCL 内核中嵌入 C++ 类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5029297/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com