DirectX 12 / Mantle / Vulkan and HSA

With the advent of lower-level graphical interfaces such as DirectX 12, Mantle, and Vulkan, I wonder how they interact (if at all) with heterogeneous system architecture (HSA)?

As I understand it, HSA support required the participation of some developers, but I'm curious if any of the low-level graphical APIs are currently processing, or if the burden remains with the developer to make full use of it?

HSA is especially interesting for features such as simplified, shared access to data between system memory and video memory, especially when they share the same physical memory.

Since this question most likely relates to the current state of affairs, I am fine with such a review (although the information on future roadmaps will be pleasant), and I will accept an answer that covers only one graphic API (since I doubt that many, if any, familiar with all three plus HSA). Also, if I completely misunderstood how this works, then feel free to point it out; I am not very familiar with any of the technologies, but I would like to know how they interact with each other.

+5
source share
1 answer

Looking at the diagrams on the wiki page , the low-level APIs are closer to what they call a non-HSA system.

enter image description here

Each operation (memory copy, job start, ...) must be explicitly sent by the application. Although an application can group sequential operations in a command buffer and send the entire buffer at a time and continue with something else, while the commands are executed asynchronously.

The traditional openGL / DirectX9, on the other hand, is closer to the HSA, hiding all sending and copying. However, this introduces overhead during verification and tries to predict what the application will do to minimize latency. Not to mention that there are very few possibilities to check whether operations with api with synchronous roots are completed. This means that if you call a method that requires the result of an operation, the driver (HSA) will block until this operation is completed.

enter image description here

The fact that the new low-level APIs give you more control over the programmer and stop hiding nitty-gritty is actually the main selling point.

+7
source

Source: https://habr.com/ru/post/1235117/


All Articles