【发布时间】:2016-01-17 16:19:36
【问题描述】:
我正在将现有的 Reed-Solomon 解码代码移植到 OpenCL 我的内核中有一些本地数组,比如 uint myarray[256];在本地函数中。 而且我对它们有很多 memset 函数,但我没有使用它们。 我可以写一个循环来填充它们,但这可能效率低下。另外,也欢迎一些关于编写这样一个循环的建议,因为 OpenCL 似乎没有 memset。
但 OpenCL 抱怨缺少 memset 的方式似乎并没有完全丢失它
警告:隐式声明 C 库函数 'memset' 的类型 'void *(void *, int, unsigned long)'
并建议包含<string.h>,但找不到它
fatal error: <string.h> file not found.
【问题讨论】:
-
请发布一个最小、完整且可验证的示例 (mcve)
-
好吧,从 OpenCL SDK 中获取最简单的 OpenCL 示例并编写类似 uint myarray[256]; memset(myarray, 0, 100);例如,在内核源代码的开头。
-
你的代码中有
#include <string.h>吗? -
是的,我已经尝试过了,并写了它产生的错误(找不到文件)。 OpenCL 是否有标准标头,如何包含它们?嗯,我没有用这种方式搜索过这个......
-
谢谢!然后我会坚持循环填充。这其实是答案=\