我已经包含了我怀疑在这里不正确的主机程序的主要部分:
我对指针还不是很好,我认为我可能错误地分配了一些变量。
这是内核程序,它应该可以了解我的程序正在尝试做什么:
const char *KernelSource = "\n"
"__kernel void sumElements( \n"
" __global float* input, \n"
" __global float output, \n"
" __global int N) \n"
"{ \n"
" int i = get_global_id(0); \n"
" if(i < N) \n"
" output += input[i]; \n"
"} \n"
"\n";
也许这是导致错误的原因,因为我从未尝试过 SIMT 写入上述一个变量。有可能做这样的事情吗?我需要得到数组中所有元素的总和。