【问题标题】:GPU Thread Synchronization Multi-Core CPU Threads with OpenCLGPU 线程同步 多核 CPU 线程与 OpenCL
【发布时间】:2017-03-11 10:20:34
【问题描述】:

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

【问题讨论】:

标签: multithreading opencl gpu


【解决方案1】:

David Ehrmann 在源头上是对的。我只是想补充几个案例:

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

【讨论】:

  • 非常感谢您的解释。但是你会碰巧知道任何将 YUV 数据转换为图像格式的好例子吗?如果你愿意,我可以为此创建一个新问题。
  • @Harrisson 你应该创建一个新问题,但我会离开键盘。它不容易与 YUV 相互转换,用于 android 手机 cam 输出 afaik。
  • 感谢您对此的意见。我将创建一个新问题。我会请求您在转换方面提供的任何帮助,因为这对我来说很头疼。我能够转换,但只有部分数据被转换
  • @Harrisson 这里有 11231223 位程序员我肯定可以回答
  • 我发布了一个关于图像数据的新问题。但是,我还没有收到关于 tat 问题的可靠答案。如果您可以研究这个问题,请给我任何提示,我将非常感激。 stackoverflow.com/questions/42759445/…
猜你喜欢
  • 2018-05-27
  • 1970-01-01
  • 2011-12-24
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多