• Competitor rules

    Please remember that any mention of competitors, hinting at competitors or offering to provide details of competitors will result in an account suspension. The full rules can be found under the 'Terms and Rules' link in the bottom right corner of your screen. Just don't mention competitors in any way, shape or form and you'll be OK.

AMD's heterogeneous queuing aims to make CPU, GPU more equal partners

Caporegime
Joined
24 Sep 2008
Posts
38,284
Location
Essex innit!
Slowly but surely, details about AMD's Heterogeneous Systems Architecture are trickling out. In April, we learned about hUMA, which will allow the Kaveri APU's CPU and GPU components to access each others' memory. Today, we can tell you about hQ. Otherwise known as heterogeneous queuing, hQ defines how work is distributed to the processor's CPU and GPU.

hq2_zps063daa73.jpg


The current queuing model allows applications to generate work for the CPU. The CPU can generate work for itself, too, and it does so efficiently. However, passing tasks to the GPU requires going through the OS, adding latency. The GPU is also a second-class citizen in this relationship; it can't generate work for itself or for the CPU.

hq1_zps56cd7a0d.jpg


Heterogeneous queuing aims to make the CPU and GPU equal partners. It allows both components to generate tasks for themselves and for each other. Work is packaged using a standard packet format that will be supported by all HSA-compatible hardware, so there's no need for software to use vendor-specific code. Applications can put packets directly into the task queues accessed by the hardware. Each application can have multiple task queues, and a virtualization layer allows HSA hardware to see all the queues.

AMD's current hQ implementation uses hardware-based scheduling to manage how the CPU and GPU access those queues. However, that approach may not be required by the final HSA specification. Although hQ is definitely part of the spec, AMD says the OS could get involved in switching the CPU and GPU between the various task queues.

At least initially, Windows will be the only operating system with hQ support. AMD is working with Linux providers, and it's also looking into supporting other operating systems.

Great to see AMD working hard to get the most out of PC's and by sharing the load, this could have big affects on our gaming, as well as GPGPU work. Good work AMD and good to see this making progress.
 
The good thing about this is that it's a proper specification/standard.
This means it will not be proprietary to just AMD. It will be a standard that can be included right across the board by any CPU/GPU company.
 
Back
Top Bottom