AMD wavefront与工作组

时间:2015-08-02 10:39:17

标签: opencl gpgpu

我对Openwave的AMD波前和工作组大小的术语感到有些困惑。 我发现不同的来源是不同的陈述。

我的问题是:AMD的GCN技术的波前大小是多少,并且根据这个:opencl上的工作组至少应该有多大不浪费占用率。

我从amd this document得到的信息是,GCN的波前大小是16.我可以一次在CU上运行4个波前,每个最多有40个飞行中的波前立方米。所以我暗示的是,工作组在opencl中的大小至少应为16。

但是公共信息(例如在thisthis中)是wavefrontsize是64并且根据此工作组大小应该至少为64,如果高于64的倍数。这也是与我的内核上的meassurements匹配,这与workgroupsize 64的性能最高,对于64以下的所有内容都会变得更糟。

非常感谢您的澄清。

1 个答案:

答案 0 :(得分:5)

你弄错了。再次仔细阅读this document。 SIMD单元有16个工作项,波前大小为64个工作项。以下是重要的引用:

第3页:

  

在GCN中,每个CU包括4个单独的SIMD单元用于矢量处理。这些SIMD单元中的每一个同时在16个工作中执行单个操作   项目,但每个都可以在一个单独的波前工作。

第5页:

  

这对波前控制流程至关重要;例如,比较将为wavefront中的64个工作项中的每一个生成结果。