工作项目对计算的影响

时间:2012-03-01 15:34:10

标签: opencl

我知道工作项的数量会影响运行时间,但是在运行内核多次使用不同数量的工作项时,我应该会得到略微不同的结果吗?感谢

1 个答案:

答案 0 :(得分:0)

如果您获得了不同的结果,那么您的代码中就会出现错误。如果您只对全局变量norm+=element*element;执行norm,那么会发生一些线程同时执行此操作并且部分规范丢失。

为简单起见,当两个工作项增加相同的计数器a++时,甚至会发生这种情况。两者都将读取a的当前值,两者都会将其增加到a+1,并且两者都会将a+1写回寄存器。因此,您最终会使用a+1而不是a+2。你的载体会发生什么情况。