gpt4 book ai didi

c++ - 是否可以在 GPU 中运行一段纯 C++ 代码

转载 作者:行者123 更新时间:2023-11-30 03:35:18 27 4
gpt4 key购买 nike

我不太了解 OpenCL,但我知道 C/C++ API 要求程序员以字符串形式提供 OpenCL 代码。但最近我发现了不需要字符串代码来调用某些计算的 ArrayFire 库。我想知道它是如何工作的(它是开源的,但代码有点困惑)。是否可以使用 OpenCL 后端编写并行 for 调用任何一段已编译(例如 x86)代码,如下所示:

template <typename F>
void parallel_for(int starts, int ends, F task) //API
{ /*some OpenCL magic */ }
//...
parallel_for(0, 255, [&tab](int i){ tab[i] *= 0.7; } ); //using

PS:我知道我 99% 都太乐观了

最佳答案

您无法使用标准 OpenCL 从设备真正调用 C++ 主机代码。您可以使用 SYCL ,单源 C++ 编程的 Khronos 标准。 SYCL 允许将 C++ 直接编译成设备代码,而不需要 OpenCL 字符串。您可以从 SYCL 内核中调用任何 C++ 函数(只要源代码可用)。 SYCL.tech有更多链接和更新信息。

关于c++ - 是否可以在 GPU 中运行一段纯 C++ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41368834/

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