我正在尝试运行以下关于OpenCL的代码。在核函数,我会定义一个数组int arr[1000] = {0};
OpenCL变量或内核成本内存中的数组?
kernel void test()
{
int arr[1000] = {0};
}
然后,我将创建N
线程来运行内核。
cl::CommandQueue cmdQueue;
cmdQueue.enqueueNDRangeKernel(kernel, cl::NullRange, cl::NDRange(N), cl::NullRange); // kernel here is the one running test()
我的问题是,因为我们知道的OpenCL将并行运行的线程,这是否意味着,峰值内存会N * 1000 * sizeof(int)
?
堆栈空间呢? –