Opencl 如何在AMD GCN卡上每个计算单元运行两个工作组

Opencl 如何在AMD GCN卡上每个计算单元运行两个工作组,opencl,gpu,amd,amd-gcn,Opencl,Gpu,Amd,Amd Gcn,通常一个计算单元只能运行一个工作组。但是AMD的doc说,在同一个计算单元上可以运行多个波前。我该怎么做?这是OpenCL函数吗?或者我需要使用汇编指令?我想这样做是因为我的工作组大小是20,我想每个计算单元运行2个工作组,这样每个组可以使用32千兆瓦的LDS(每个CU总共64千兆瓦,每个波前最多可以使用32千兆瓦,所以我想运行两个波前来使用全部LDS)。如果您的工作组使用的VGR数量不够多,那么(并且没有其他太多的资源),调度程序会自动将多个工作组启动到CU中,对吗?是的,这几乎是一种资源使用

通常一个计算单元只能运行一个工作组。但是AMD的doc说,在同一个计算单元上可以运行多个波前。我该怎么做?这是OpenCL函数吗?或者我需要使用汇编指令?我想这样做是因为我的工作组大小是20,我想每个计算单元运行2个工作组,这样每个组可以使用32千兆瓦的LDS(每个CU总共64千兆瓦,每个波前最多可以使用32千兆瓦,所以我想运行两个波前来使用全部LDS)。

如果您的工作组使用的VGR数量不够多,那么(并且没有其他太多的资源),调度程序会自动将多个工作组启动到CU中,对吗?是的,这几乎是一种资源使用情况。请注意,有VGRS和SGPRs。应该包括您需要知道的内容。