0

Usually one compute unit can only run one work group. But AMD's doc says there can be more than one wavefronts running on the same compute unit. How can I do that? Is that an OpenCL function for that? Or I need to use assembly instruction? I want to do this because my work group size is 20 and I want to run 2 work groups per compute unit, so that each group can use 32 KiB LDS (64 KiB total per CU, each wavefront can use up to 32KiB so I want to run two wavefronts to use the full amount of LDS).

  • 1
    Seems that if your work group uses less enough number of VGPRs (and no other too much resources), the scheduler will automatically launch more than one work groups into a CU, right? – user1200759 Aug 18 '18 at 23:32
  • yes, it's pretty much a case of resource usage. Note that there are both VGPRs and SGPRs. [This article from AMD](https://gpuopen.com/optimizing-gpu-occupancy-resource-usage-large-thread-groups/) should cover what you need to know. – pmdj Aug 19 '18 at 08:23

0 Answers0