a brief primer on amd's mantle technology

2
A BRIEF PRIMER ON MANTLE Mantle has been many years in the making by AMD, but we were not alone in this effort! Mantle was also directly shaped by the input we received from the greater game development community that has long sought a low-level grap hics API for PCs. We worked shoulder-to-shoulder wi th developers like  DICE and Oxide Games to create Mantle in the image of their nee ds: a streamlined, robust, efficient API for modern graphics work. In fact, Mantle is the very first API designed directly by game developers for their modern craft! At the simplest level, Mantle is an Application Programming Interface (API), or a language that game developers can use to write code that creates the beautiful graphics on your screen. In its current iteration, the Mantle API uniquely leverages t he hardware in the Graphics Core Next architecture (GCN) of modern AMD Radeon™ GPUs for peak performance. More broadly, Mantle is functionally similar to DirectX® and OpenGL, but Mantle is different in that it was purpose-built as a lower level API. By “lower level,” it’s meant that the language of Mantle more closely matches the way modern graphics architectures (like AMD’s own GCN) are designed to execute code. The primary benefit of a lower level API is a reduction in software bottlenecks, such as the time a GPU and CPU must spend translating/understanding/reorganizing code on-the-fly before it can be executed and presented to the user as graphics. Mantle comes in contrast to the “ high level API,” which offers broader compatibility with multiple GPU architectures, but does so at the expense of lower performance and efficiency. Before you proceed with per formance analysis, however, we wanted to provide some new insight on the design goals of the Mantle API. DESIGN PRINCIPLES OF MANTLE First and foremost, Mantle is primarily designed to improve performance in scenarios where the CPU is the limiting factor (so-called “CPU-bound” cases); CPU-bound scenarios are legion in gaming, as existing APIs have heavy validation overhead, along with difficulty scaling out to multiple CPU cores. In addressing this common problem, Mantle enables a pronounced improvement for the major ity of global PC gamers that have entry-level and mid-range processors. Some of the techniques to ac hieve this include:  Low-overhead validation and processing of API commands  Explicit command buffer control  Close to linear performance scaling from re cording command buffers onto multiple CPU cores  Reduced runtime shader compilation overhead In turn, Mantle makes less of an impact in cases where high resolutions and “maximum detail” settings are used, as these settings are likely to be maximally taxing GPU resources in a manner that is more difficult to improve at the API level (so- called “GPU-bound” scenarios). While Mantle provides some

Upload: raquel-perez-gomez

Post on 03-Jun-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

8/13/2019 A Brief Primer on AMD's Mantle technology

http://slidepdf.com/reader/full/a-brief-primer-on-amds-mantle-technology 1/2

A BRIEF PRIMER ON MANTLE

Mantle has been many years in the making by AMD, but we were not alone in this effort! Mantle was

also directly shaped by the input we received from the greater game development community that has

long sought a low-level graphics API for PCs. We worked shoulder-to-shoulder with developers like DICE 

and Oxide Games to create Mantle in the image of their needs: a streamlined, robust, efficient API for

modern graphics work. In fact, Mantle is the very first API designed directly by game developers for their

modern craft!

At the simplest level, Mantle is an Application Programming Interface (API), or a language that game

developers can use to write code that creates the beautiful graphics on your screen. In its current

iteration, the Mantle API uniquely leverages the hardware in the Graphics Core Next architecture (GCN)

of modern AMD Radeon™ GPUs for peak performance.

More broadly, Mantle is functionally similar to DirectX® and OpenGL, but Mantle is different in that it

was purpose-built as a lower level API. By “lower level,” it’s meant that the language of Mantle moreclosely matches the way modern graphics architectures (like AMD’s own GCN) are designed to execute

code. The primary benefit of a lower level API is a reduction in software bottlenecks, such as the time a

GPU and CPU must spend translating/understanding/reorganizing code on-the-fly before it can be

executed and presented to the user as graphics. Mantle comes in contrast to the “high level API,” which

offers broader compatibility with multiple GPU architectures, but does so at the expense of lower

performance and efficiency.

Before you proceed with performance analysis, however, we wanted to provide some new insight on

the design goals of the Mantle API.

DESIGN PRINCIPLES OF MANTLE

First and foremost, Mantle is primarily designed to improve performance in scenarios where the CPU is

the limiting factor (so-called “CPU-bound” cases); CPU-bound scenarios are legion in gaming, as existing

APIs have heavy validation overhead, along with difficulty scaling out to multiple CPU cores. In

addressing this common problem, Mantle enables a pronounced improvement for the majority of global

PC gamers that have entry-level and mid-range processors. Some of the techniques to achieve this

include: 

  Low-overhead validation and processing of API commands

  Explicit command buffer control

  Close to linear performance scaling from recording command buffers onto multiple CPU cores

  Reduced runtime shader compilation overhead

In turn, Mantle makes less of an impact in cases where high resolutions and “maximum detail” settings

are used, as these settings are likely to be maximally taxing GPU resources in a manner that is more

difficult to improve at the API level (so-called “GPU-bound” scenarios). While Mantle provides some

8/13/2019 A Brief Primer on AMD's Mantle technology

http://slidepdf.com/reader/full/a-brief-primer-on-amds-mantle-technology 2/2

built-in features to improve GPU-bound performance, gains in these cases are largely dependent on how

well Mantle features and optimizations are being utilized by the developer. Some of those features

include:

  Reduction of command buffers submissions

  Explicit control of resource compression, expands and synchronizations  Asynchronous DMA queue for data uploads independent from the graphics engine

  Asynchronous compute queue for overlapping of compute and graphics workloads

  Data formats optimizations via flexible buffer/image access

  Advanced Anti-Aliasing features for MSAA/EQAA optimizations

It’s also prudent to note that Mantle is still in the beta phase and may not reflect the full performance

we might be able to achieve through the optimization time we’ll be investing in the months ahead. And,

as developers are still familiarizing themselves with Mantle and its relationship to Graphics Core Next,

they may not have capitalized on all available opportunities for optimizations—but that will come with

time.

One such optimization is the approach to multi-GPU performance scaling, which now rests in the hands

of the game developer in the Mantle ecosystem. Developer control of multi-GPU performance

empowers them to design an optimal multi-GPU codebase that perfectly matches the approach their

rendering engine takes to graphics. Battlefield 4 is currently enabled with multi-GPU capabilities on

Mantle, but the Oxide Games StarSwarm demo will be enabled with these capabilities in a later build.

THE ROAD AHEAD

Throughout the months that have followed our October unveiling of Mantle, you have been patient and

kind to us as the Mantle consortium labored to make the first release the best it could possibly be.Concurrently, your support and coverage have been real and personal encouragement for every person

working on the API. While we can never truly repay your kindness with a piece of software, we hope

that it goes into the world with no uncertain amount of gratitude from us. We thank you so very deeply

for your support, and vow to bring an even more sensational experience in the months ahead!