OpenCL条件原子函数

OpenCL条件原子函数,opencl,Opencl,原子函数是否可以放置在if条件或OpenCL中的for循环中。如果可能,有人能给我提供一个内核示例吗?是的,他们可以 原子函数没有特殊的锁步要求,就像屏障一样 通常会减少组范围内的计算结果,然后组中只有一个工作项使用此子结果更新全局缓冲区 if (get_local_id(0) == 0) atomic_add(result_ptr, group_result);

原子函数是否可以放置在if条件或OpenCL中的for循环中。如果可能,有人能给我提供一个内核示例吗?

是的,他们可以

原子函数没有特殊的锁步要求,就像屏障一样

通常会减少组范围内的计算结果,然后组中只有一个工作项使用此子结果更新全局缓冲区

if (get_local_id(0) == 0)
    atomic_add(result_ptr, group_result);