OpenCL 条件原子函数
OpenCL conditional atomic functions
在 OpenCL 中,是否可以将原子函数放在 if 条件或 for 循环中。如果可能的话,有人可以为我提供示例内核吗?
是的,他们可以。
对原子函数没有像障碍那样的特殊lock-step要求。
减少计算的 group-wide 结果是很常见的,然后组中只有一个 work-item 用这个 sub-result 更新全局缓冲区。
if (get_local_id(0) == 0)
atomic_add(result_ptr, group_result);
在 OpenCL 中,是否可以将原子函数放在 if 条件或 for 循环中。如果可能的话,有人可以为我提供示例内核吗?
是的,他们可以。
对原子函数没有像障碍那样的特殊lock-step要求。
减少计算的 group-wide 结果是很常见的,然后组中只有一个 work-item 用这个 sub-result 更新全局缓冲区。
if (get_local_id(0) == 0)
atomic_add(result_ptr, group_result);