OpenCL atomic_add()在NVIDIA GPU设备上返回错误的结果

时间:2013-06-18 09:03:34

标签: parallel-processing opencl nvidia

我想在全局内存上执行atomic_add。为此,我在内核源代码中指定了以下编译指示。

#pragma OPENCL EXTENSION cl_khr_global_int32_base_atomics : enable

假设我在工作组中有n个工作项,在全局内存中有一个int数组,

 __global int *outData; int gId = get_group_id(0);

outData初始化为0并执行

atomic_add(&outData[gId], 1)

应将outData [gId]更改为n。当平台是OpenCL 1.2 AMD-APP(923.1)但使用OpenCL 1.1 CUDA 4.1.1平台导致垃圾值(-572662154)时,它只给出了预期的结果。

请帮帮我。

0 个答案:

没有答案