使用OpenCL的GPU线程同步多核CPU线程

时间:2016-10-28 13:49:42

标签: multithreading opencl gpu

我一直在与使用OpenCL的多核CPU线程进行GPU线程同步。我确实看到了一些CUDA示例,但是,如果有人能够在OpenCL方面给我一些关于同步部分的提示,我会更清楚这个概念。提前感谢您对此事的任何帮助。

1 个答案:

答案 0 :(得分:1)

David Ehrmann是对的。我只想补充一些案例:

  • cpu-devices中的障碍非常缓慢,减速效果甚至超过了cpu和gpu之间的加速比(至少对于中级amd桌面CPU和低端intel移动cpu而言)
  • 如果工作组中没有任何工作项遇到障碍,他们就不必再打它了。一个例子可能是在工作组级别的内核中提前退出,其中以棋盘方式处理(或不处理)图像,这使得交替工作组处理或不处理。(是的,这是低效的但更复杂的工作组拣选算法可以这样很简单,编译时一些参数或数据是未知的)
  • 原子功能不是障碍。他们只是访问更新的(通过其他工作项,原子)存储单元并以原子方式更新它。