OpenCL 内核程序中的同步

OpenCL 对OpenCL事件的标记和栅栏讲述的是主机端命令之间执行的同步以及OpenCL命令与主机端线程执行的同步。下面我们将介绍计算设备端在内核程序中的各种同步技巧。由于OpenCL C提供了非常丰富的同步机制,而且受OpenCL计算设备架构的影响,内核程序的同步会与主机端对命令的同步有很大不同。因此,我们将按照以下话题依次为大家做详细介绍:工作组内的工作项同步, OpenCL的原子操作,以及工作组之间的同步。OpenCL并没有定义任何针对工作组之间工作项的同步API,由于当前主流计算设备在硬件上没有提供此类操作,而且需要工作组之间进行同步的算法设计往往也不是良好的,所以我们在设计OpenCL内核程序时应当尽量避免工作组之间的同步。不过,我们这里也会介绍一些针对工作组之间同步的技巧。当然,工作组之间的同步开销还是非常大的。

赞(0)
未经允许不得转载:极客笔记 » OpenCL 内核程序中的同步
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址