【发布时间】:2017-07-23 15:19:28
【问题描述】:
我正在尝试编写一个内核来获取字符串的字符频率。
首先,这是我现在的内核代码:
_kernel void readParallel(__global char * indata, __global int * outdata)
{
int startId = get_global_id(0) * 8;
int maxId = startId + 7;
for (int i = startId; i < maxId; i++)
{
++outdata[indata[i]];
}
}
变量inData保存全局内存中的字符串,outdata是全局内存中256个int值的数组。每个工作项从字符串中读取 8 个符号,并应在数组中增加相应的 ASCII 码。代码编译并执行,但outdata 包含的总出现次数少于inData 中的字符数。我认为问题在于工作项覆盖了全局内存。如果你能给我一些解决这个问题的建议,那就太好了。
顺便说一句。我是 OpenCL 的新手 ;-),是的,我在其他问题中寻找解决方案。
【问题讨论】:
标签: parallel-processing opencl histogram