Tuesday 10 March 2015

AMD Ends Revolutionary Mantle API 1.0

AMD Ends Revolutionary Mantle API 1.0, Asks Devs To Focus On DirectX 12 Instead – Releasing 450 Page Programming Guide For Developers, No Public SDK


AMD announced their revolutionary Mantle API at GPU ’14 in September of 2013 and the first AAA title to make use of it was Battlefield 4 by DICE which got support for the new API through a patch in February. It has since been a long road for AMD with many titles from EA and a few other developers giving support for the Mantle API in their games however the road has reach its end and AMD is finally ending Mantle and asking developers to focus on DirectX 12 instead which makes use of a similar design to AMD’s own formula of low-level overhead access.
AMD Mantle

AMD Ends Mantle API 1.0 – Raja Koduri Advises Devs To Focus on Latest DirectX and Vulkan (OpenGL)

This is a major news since the launch of the new API which was meant to be released for many more titles and as a public SDK too. Raja Kodouri has released a statement suggesting that Mantle will continue to evolve and enhance its capabilities beyond its  mastery of draw cells and will continue to serve AMD as a graphics platform for innovation. It will be available to select partners with custom needs however for wide utilization, AMD has suggested developers to go the route of DirectX and OpenGL while taking advantage of Mantle to get an insight on specialized features which the latest DirectX and OpenGL may not provide in their infancy. Before talking further, let’s take a recap of how Mantle was meant to work and how DirectX followed its footsteps to become a next generation API for developers:

So how does Mantle work?

The Mantle API is geared towards AMD GCN hardware which includes their Radeon HD 7000, 8000 and R200 series cards.While Mantle’s first focus would be the graphics processing unit utilization, from recent benchmarks we have come to the conclusion that Mantle’s initial focus would be to eliminate scenarios where the processor becomes the bottleneck of the entire system causing performance degradation. Mantle API helps by reducing the CPU load for better utilization of the system hardware.
This shows that performance improvements with be expected on both Intel and AMD processors based rigs since Mantle removes a lot of the load from the CPU to allow the GPU to run at its true potential. Users who are currently using Kaveri APUs along with GCN based graphics cards would expect a massive improvement as compared to users with FX CPUs or intel’s high-end range of processors. This is mainly since Kaveri APUs which compared to FX processors and Intel’s HEDT lineup are more limited in terms of x86 potential and total threads hence lesser load on the CPU side from different tasks would enable the GPU to better utilize the full potential of the Kaveri APUs. Unfortunately, we didn’t have access to Kaveri since we haven’t received a sample yet so our testing would be done on our AMD test rig which includes a FX-8350 processor.
AMD Mantle
Do note that Mantle update doesn’t has any sort of restriction when it comes to CPU so gains are expected across both Intel and AMD based processors since it offers more in-depth utilization of the hardware. Our complete benchmark analysis of Mantle with Battlefield 4 can be seen here.
Mantle is an API that is thought to be a direct competitor to Microsoft’s Direct X and Open GL. It allows for a high number of Draw Calls to be submitted per frame resulting in higher performance. The problem with this statement is that it was interpreted to mean that it would make AMD’s Graphic Cards more efficient without the CPU being a factor. Because we now know that it is actually designed to reduce the workload of the CPU, comparison against Direct X changes completely. The new variable that comes into play for comparison is whether or not a game is CPU-Intensive. If a game is CPU intensive and you have a CPU that is not naturally capable of dealing with the load then Mantle will help you, if not then don’t expect miracles.

What Happens To Mantle API Now?

Mantle, as stated above, will be available to developers with custom needs and the new API will be brought to Battlefield Hardline from DICE (AMD Trusted Partner). AMD’s Robert Hallock has the following to say:
AMD’s game development partners have similarly started to shift their focus, so it follows that 2015 will be a transitional year for Mantle. Our loyal customers are naturally curious about what this transition might entail, and we wanted to share some thoughts with you on where we will be taking Mantle next:
  1. AMD will continue to support our trusted partners that have committed to Mantle in future projects, like Battlefield™ Hardline, with all the resources at our disposal.
  2. Mantle must take on new capabilities and evolve beyond mastery of the draw call. It will continue to serve AMD as a graphics innovation platform available to select partners with custom needs.
    1. The Mantle SDK also remains available to partners who register in this co-development and evaluation program. However, if you are a developer interested in Mantle “1.0” functionality, we suggest that you focus your attention on DirectX® 12 or GLnext.
As an API born to tackle the big challenges in graphics, much of this evolution is already well under way. We invite you to join AMD this week at Game Developer Conference 2015 to see not just the future of Mantle, but the future of PC graphics itself. AMD will be releasing a 450 page programming guide and reference API to assist developers working on APIs that feature the technology and work path surrounding Mantle such as Vulkan and DX12.
As we move in the future, we will see new APIs making use of better implementation that will be able to combine GPU VRAM delivering more video memory by accessing the frame buffers across each cards and furthermore, combining cards (Cross-SLI) from both AMD and NVIDIA to work as a single entity by communicating in parallel across each core on the GPU and CPU. There’s a lot that can be achieved with the upcoming and current APIs such as Mantle if developers are willing to pay more attention to them like DICE who were first to adopt Mantle support in their games. Vulkan, formerly known as OpenGL is another API making use of multi-threading efficiency to enhance performance and a good read on how it works can be seen in the article from PCPerspective.
Vulkan even allows the game developer to disable most of the error checking for production code. Rather than having the API look over the game code’s shoulder to make sure it’s not going to crash itself, like OpenGL and OpenGL ES does, all of that debugging cruft can be unhooked from shipped games. With this, the driver can be simple and the developer does not need to wait for the driver to make sure that the developer isn’t doing what the developer already checked to make sure didn’t happen before it sent its request to the driver. Wow, that sentence seems like an awful waste of time, doesn’t it?
But all of that makes the CPU side more efficient
The Khronos Group has also tweaked the GPU side as well. Before now, we had a war between GLSL in OpenGL and HLSL in DirectX. HLSL was quite popular because Windows and Xbox were very popular platforms to target a game for. When AMD made Mantle, one of their selling points was that the Mantle shading language was just HLSL. This meant that game developers could keep using the shader language that they know, and AMD would not need to maintain a whole separate compiler/interpreter chain.
When you are not bound by draw call limitations, another bottleneck might just be how much you can push through the shader cores. A good example of increasing the load on shaders would be increasing resolution (unless you run out of video memory or video memory bandwidth first). When AMD chose HLSL, it meant that they could make shaders for Mantle run just as fast as shaders for DirectX. This means that they would not be sacrificing top-end, GPU-bound performance for low-end, draw call-bound, CPU performance. via PCPerspective
While AMD promised a Public SDK of Mantle to be released this year, it seems like they have canned it since Mantle is being replaced by DirectX and Vulkan (OpenGL) and advising devs to make a switch to them too. Mantle has so far been able to achieve the purpose it was built for. It has pushed the major software makers to push to address CPU bottlenecks and how to get more out of the untapped potential of processors. Since it’s launch, NVIDIA has pushed for enhancing this bottleneck with driver support on DX 11.2 API and Microsoft will be launching their DirectX 12 API this year. The titles in development with Mantle support will be worked on with full AMD support and work with continue till DirectX 12 hits on consumer level, however we can’t tell what happens to Mantle post-DirectX 12 and that will possibly explained by AMD on March 5th at their GDC presentation.

No comments:

Post a Comment