我正在寻找一种算法来搜索另一个字符串,但是我知道CUDA或OpenCL本机不支持字符串(但是我看到了一篇帖子,表明OpenCL可以接收类似于代码的字符数组。下面)
__kernel void test(__global word_t *data, __global res_t *result)
{
size_t id=get_global_id(0);
int size=0;
int size=data[id].len;
// local memory "allocator"
__local int offset = 0;
volatile __local int* pOffset = &offset;
__local char wordBuffer[BUFFER_SIZE];
// "allocate" memory
int myOffset = atomic_add( pOffset, size );
//working with the word
__local char* pThreadWord = &wordBuffer[ myOffset ];
}
我有很多大小的字符串,我必须并行搜索这些小字符串的存在(并检测位置),有人可以帮助我吗?
ps:可以在以下位置找到此代码:Using "String" in openCl Kernel