AMD Introduces Quick Response Queue in Latest Drivers
Samuel Wan / 2 years ago
Asynchronous Compute has been one of the headline features with DX12. Pioneered by AMD in their GCN architecture, Async Compute allows a GPU to handle both graphics and compute tasks at the same time, making the best use of resources. Some titles such as Ashes of the Singularity have posted massive gains from this and even titles that have a DX 11 heritage stands to have decent gains. In an update to Async Compute, AMD has added Quick Response Queue support to GCN 1.1 and after.
One of the problems with Async Compute is that it is relatively simple. It only allows graphics and compute tasks to be run at the same time on the shaders. Unfortunately, Async Compute as it stands right now will prioritize graphics tasks, meaning compute tasks only get the leftover resources. This means there is no guarantee when the compute task will finish as it depends on the graphics workload. Quick Response Queue solves this by merging preemption where you stop the graphics workload entirely, with Async Compute.
With Quick Response Queue, tasks can be given special priority to ensure they complete on time. Quick Response Queue will also allow the graphics task to run at the same time albeit with reduced resources. By providing more precise and dependable control, this allows developers to make better use of Async Compute, especially on latency/frame sensitive compute tasks. Moving on, we may see greater gains from Async in games as AMD allows more types of compute workloads to be optimized. Hopefully, this feature will reach GCN 1.0 cards but that depends on if the hardware is capable of it.