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.
AMD explains its upcoming heterogeneous queuing
Posted on Tuesday, October 22 2013 @ 12:31 CEST by Thomas De Maesschalck