关于OpenCL的AMD波前和工作组大小,我有点困惑.我发现不同的来源都做了不同的陈述.
我的问题是:AMD的GCN技术的波前大小是多少,并且根据这个:opencl上的工作组至少应该有多大不浪费占用率.
我从amd 这个文件中得到的信息是,GCN的波前大小是16.我可以一次在CU上运行4个波前,每个铜最多有40个飞行中的波前.所以我暗示的是,工作组在opencl中应至少为16.
但是常见的信息(例如在这个或者这个中)是wavefrontsize是64并且根据这个workgroupsize应该至少64并且如果更高64的倍数.这也是与我的内核上的meassurements匹配的,这是使用workgroupsize 64我获得了最高性能,对于64以下的所有内容,它变得更糟.
非常感谢您的澄清.
你搞错了.请再次仔细阅读本文档.SIMD单元有16个工作项,波前大小为64个工作项.以下是重要的引用:
第3页:
在GCN中,每个CU包括4个单独的SIMD单元用于矢量处理.这些SIMD单元中的每一个同时在16个工作项中执行单个操作,但每个工作项可以在单独的波前工作.
第5页:
这对波前控制流程至关重要; 例如,比较将为wavefront中的64个工作项中的每一个生成结果.
归档时间: |
|
查看次数: |
3918 次 |
最近记录: |