Processor

AMD unveils Heterogeneus Queuing, the communication system between CPU and GPU of the HSA architecture

 

We have closely followed the new HSA architecture (Heterogeneous Systems Architecture), a technology developed by the HSA Foundation (AMD, Qualcom, Samung, LG, etc …) and that we will soon see on PC in the next AMD Kaveri APUs. This technology allows direct communication between GPU and CPU, being able to access the same memory space directly and allowing developers to take full advantage of both the CPU and the GPU integrated in SoCs or chips such as AMD APUs.

In its day we already explained what it consisted of hUMA (heterogeneus Uniform Memory Access), the system used to allow both the CPU and the GPU to access the same memory space directly, avoiding having to go around previously copying data to send it to the GPU and achieving lower latencies and higher performance, an essential part of the HSA architecture.

To better understand how this architecture works today we will talk about heterogeneus Queuing (hQ), which is nothing more than the way in which the CPU and GPU of an APU interact with each other at the level of computational tasks. Until now, the normal process is for a program or application to generate tasks that are stored in a task queue for the CPU to process, once processed new tasks are generated, and those created for the GPU are sent from the CPU to the GPU, through the operating system and later by the GPU Driver, which generates a specific task queue for the GPU. So from the moment an application generates a task for the GPU, until it actually reaches the GPU, it has to go through one or more queues of the CPU, which in turn sends it to the GPU through the operating system, losing a lot time on the road.

In addition, the GPU in the traditional model, unlike the CPU, cannot generate new tasks, only process the one sent to it from the operating system kernel.

AMD Unveils Heterogeneus Queuing, the HSA Architecture CPU-GPU Communication System, Image 2

With HSA and the heterogeneous queuing model, the GPU and the CPU will be able to generate tasks and send them directly from one chip to another without having to go through the operating system and driver, allowing the GPU to also send tasks to the CPU or generate new tasks to process by itself. All this is done at the hardware level, without the need for a previous software conversion to translate the type of orders or limited to a specific chip manufacturer (for example AMD, Qualcomm, etc). In this way, a program or software can directly send tasks to the GPU, without first having to go through the CPU, achieving a much more efficient execution and processing.

This also allows make more efficient use of the capabilities of the GPU and CPU, since even within the same program and a specific task or algorithm, there are parts that are performed optimally on the CPU and others that are performed better on the GPU, in this way it is not necessary to process everything on one or the other chip in a pre-established way, since it is possible that during the process, both chips will send tasks depending on the needs, thus achieving maximum optimization and all this without depending on the operating system or drivers to send tasks from one to another.

This is also possible thanks to hUMA, since both the CPU and the GPU can access the same memory space and send data directly without having to copy it first.

AMD Unveils Heterogeneus Queuing, the HSA Architecture CPU-GPU Communication System, Image 3

The HSA architecture will come to the PC from AMD and its Kaveri APUs in early 2014. This system is also used in the new generation consoles, governed precisely by the company’s custom APUs. The HSA architecture is expected to be integrated into mobile chips and embedded systems in the future.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button
%d bloggers like this: