Vulkan子组教程提到:
如果您指定的工作组大小小于子组大小,则保证子组内有非活动调用。
现在假设您的 maxComputeWorkGroupSize为1024,subGroupSize为 64。如果您想对图像应用过滤器,您可能会进行 2D 调用。因此,您最终的工作组大小将为 32,因为 32 * 32 * 1 = 1024。现在您的工作组大小小于子组大小。
所以我的问题是,是否最好使用 64 的 1D 工作组大小(并从现在“更大”的 GlobalInitationID.x 中提取相应的 x 和 y 坐标)?