gpt4 book ai didi

c++ - 将 STL 数据结构传递给 opencl 内核

转载 作者:行者123 更新时间:2023-11-28 01:33:07 25 4
gpt4 key购买 nike

我正在设计一个并行算法,理论上,我想更新一个 std::list<...>每个线程。所以说我有 m*n线程,其中每一个都会索引一个特定的 std::list ,在执行并行算法后,所有列表将合并在一起。

我想到的另一种方法是使用单个 std::list并在更新时锁定访问权限(如果这在 openCL 中可能不完全确定)。

我的一般问题是......是否可以将 STL 数据结构传递给内核?

谢谢

最佳答案

通常不可能将标准库数据结构传递给 OpenCL。 std::list 中存储的对象的内存布局不是连续的,因此您必须在传递给 OpenCL 之前将列表复制到缓冲区中。

std::vector 会更容易,因为至少它的内存是连续的,但您仍然需要在 OpenCL 缓冲区之间进行传输。

关于c++ - 将 STL 数据结构传递给 opencl 内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50719380/

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