gpt4 book ai didi

c++ - OpenCL 中的 memset 局部变量/内存

转载 作者:行者123 更新时间:2023-11-28 06:01:27 29 4
gpt4 key购买 nike

我正在将现有的 Reed-Solomon 解码代码移植到 OpenCL我的内核中有一些本地数组,比如 uint myarray[256];在本地函数中。我有相当多的 memset 函数,但我没有使用它们。我可以只写一个循环来填充它们,但这可能效率低下。此外,也欢迎提出有关编写此类循环的一些建议,因为 OpenCL 似乎没有 memset。

但是 OpenCL 提示缺少 memset,但似乎并没有完全缺少它

warning: implicitly declaring C library function 'memset' with type 'void *(void *, int, unsigned long)'

并建议包括 <string.h>但是没找到

fatal error: <string.h> file not found.

最佳答案

OpenCL 设备代码中没有可用的内存集(也没有任何其他 C 标准库),因此您需要手动循环(可能需要使用 #pragma unroll 提示)或者,如果数组实际上是 OpenCL 意义上的 local(即在工作组中的工作项之间共享),则让每个工作项都清除其中一个元素(效率要高得多)。

关于c++ - OpenCL 中的 memset 局部变量/内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33212386/

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