Feedback

AMD Exposes Mantle - A New Hardware Level API

Author:
Manufacturer: AMD

Earth Shattering?

AMD is up to some interesting things.  Today at AMD’s tech day, we discovered a veritable cornucopia of information.  Some of it was pretty interesting (audio), some was discussed ad-naseum (audio, audio, and more audio), and one thing in particular was quite shocking.  Mantle was the final, big subject that AMD was willing to discuss.  Many assumed that the R9 290X would be the primary focus of this talk, but in fact it very much was an aside that was not discussed at any length.  AMD basically said, “Yes, the card exists, and it has some new features that we are not going to really go over at this time.”  Mantle, as a technology, is at the same time a logical step as well as an unforeseen one.  So what all does Mantle mean for users?

View Full Size

Looking back through the mists of time, when dinosaurs roamed the earth, the individual 3D chip makers all implemented low level APIs that allowed programmers to get closer to the silicon than what other APIs such as Direct3D and OpenGL would allow.  This was a very efficient way of doing things in terms of graphics performance.  It was an inefficient way to do things for a developer writing code for multiple APIs.  Microsoft and the Kronos Group had solutions with Direct3D and OpenGL that allowed these programmers to develop for these high level APIs very simply (comparatively so).  The developers could write code that would run D3D/OpenGL, and the graphics chip manufacturers would write drivers that would interface with Direct3D/OpenGL, which then go through a hardware abstraction layer to communicate with the hardware.  The onus was then on the graphics people to create solid, high performance drivers that would work well with DirectX or OpenGL, so the game developer would not have to code directly for a multitude of current and older graphics cards.

Read the entire article here.

Sure, guys like 3dfx would update their GLIDE API to handle legacy applications and legacy hardware as well as current products and new games.  This still was too much work for developers.  Creating different rendering engines that would take advantage of features on these chips all the while addressing support for 3dfx’s GLIDE, Rendition’s RRedline, or S3’s Metal was just too much.  So we moved on to embrace Direct3D and OpenGL.  Sounds like heaven, right?  Not necessarily so.  We have had issues with good driver support for these high level APIs.  The high level APIs are not efficient, and the overhead that they impose impacts both performance and latency.  These APIs have improved over time, especially with the jumps to DX11 and OpenGL 4.0.  Still, they have enough of a hit that performance can be improved by getting rid of them altogether.

This is what Mantle does.  It bypasses DirectX (and possibly the hardware abstraction layer) and developers can program very close to the metal with very little overhead from software.  This lowers memory and CPU usage, it decreases latency, and because there are fewer “moving parts” AMD claims that they can do 9x the draw calls with Mantle as compared to DirectX.  This is a significant boost in overall efficiency.  Before everyone gets too excited, we will not see a 9x improvement in overall performance with every application.  A single HD 7790 running in Mantle is not going to power 3 x 1080P monitors in Eyefinity faster than a HD 7970 or GTX 780 (in Surround) running in DirectX.  Mantle shifts the bottleneck elsewhere.

View Full Size

What kind of improvements can we expect?  Performance will increase when things are not shader bound.  We probably could see an improvement in geometry handling (higher polygon scenes).  Other than that though, do not expect miracles.  In applications that require multiple shading passes, complex lighting, tessellation and deformation, we might see improvements in the single digit percentages, perhaps as high as the low teens.  Still, it is an improvement and it will give AMD a leg up in these applications that utilize Mantle as compared to their primary competitor which still uses DirectX and OpenGL.

This development is not exactly unprecedented, though it was unexpected at this time.  Both Sony and Microsoft are already essentially going this route with their next generation consoles.  In fact, both of these companies have been doing this for several generations of consoles.  They enable developers low level access to the hardware and control of memory addresses and accesses which makes graphics on these consoles very efficient.  As software for consoles improves over time, these developers can create tricks and optimizations to squeeze every last ounce of performance from these machines.  If we were to compare graphical fidelity of the latest titles to those at the consoles’ launches, it is almost night and day where we have come to.  This “close to the metal” approach is very efficient and allows for a lot of flexibility for programmers.

So why are we seemingly going back in time?  It seems that in computer technology the idea of “what was old is now new again” keeps coming around.  So why does Mantle sound like a good idea?  First of all, we do not have a dozen competing APIs from the likes of 3Dfx, Rendition, PowerVR, ATI, S3, Matrox, and others.  Secondly we have a huge impetus for this movement from the next generation consoles which both implement AMD’s GCN architecture.  Developers will already be familiar with the architecture and very similar programming techniques.  Going to Mantle would not be trivial, but at the same time it does not require a total rewrite of the renderer to support.

Battlefield 4 will be the first title to natively support Mantle, and that support will be released to users as a free update in December.  BF4 is based on the Frostbite 3 engine, which will be powering around 15 titles over the next year.  Obviously most of these titles will have no need to support or implement Mantle, but we could see a couple test out that technology.  The more important support could come from titles initially developed for the consoles and ported to the PC.  We also have that little free radical called the Steam Box.  While AMD is working with Valve to have drivers ready to go, we do not know if Valve will embrace Mantle for their titles.  It seems somewhat unlikely because Valve is offering SteamOS for free and for multiple configurations.  NVIDIA still has the majority of standalone gaming cards in the wild, but AMD is slowly closing that gap.

View Full Size

Mantle is an interesting move for AMD.  While Mantle may not conquer the world overnight, as AMD starts to ship GCN based APUs we could see an uptick of interest.  Not everyone owns a high end graphics card, but there will be a larger group of people with a GCN based APU in their machine.  As the numbers start growing, then interest with developers will increase.  When we combine the numbers for PS4, XBOne, and APU enabled PCs, then the numbers may make sense for developers to focus on implementing a Mantle based pathway for their games.  Time will tell.

September 26, 2013 | 02:19 AM - Posted by PapaDragon

Thank you for the great article Josh, very easy to understand!

September 26, 2013 | 03:08 AM - Posted by Gabkicks

I just ordered a ASUS gtx 780 DCUIIOC yesterday for about $100 less than retail.
Now this r9 290x mantle news is making me wonder if I made a mistake. I'm looking forward to tomorrow's podcast!
I wish amd would support lightboost 2.

September 26, 2013 | 10:43 AM - Posted by Josh Walrath

Sounds like a decent deal for that card.  It will be interesting to see where exactly the R9 290X/290 cards will come in.  AMD usually sticks to a good price/performance ratio.  The one thing we don't know yet is the exact release date of the latest cards from AMD.  We certainly don't know the performance either!  Still, you will quite likely enjoy your GTX 780!

September 26, 2013 | 02:53 PM - Posted by Spigzone (not verified)

One might presume the same applies to AMD vs Nvidia graphics cards.

Digital Foundry in April of this year:

"We approached a number of developers on and off the record - each of whom has helped to ship multi-million-selling, triple-A titles - asking them whether an Intel or AMD processor offers the best way to future-proof a games PC built in the here and now. Bearing in mind the historical dominance Intel has enjoyed, the results are intriguing - all of them opted for the FX-8350 over the current default enthusiast's choice, the Core i5 3570K"

http://www.eurogamer.net/articles/digitalfoundry-future-proofing-your-pc...

September 26, 2013 | 09:08 PM - Posted by Anonymous (not verified)

lol. those Germans are a silly bunch. Crysis 3 as their primary example? The game SUCKS. It shows they cherry picked taht title to make AMD CPU's look good... by a whole 2 frames over a slower clocked Intel chip. Pathetic. AMD CPU's are garbage.

September 27, 2013 | 04:30 AM - Posted by Anonymous (not verified)

Those 2 fps are a lead over a CPU which costs considerably more than the FX chip (100€, to be precise).
In addition, the assumption is not based on Crysis 3, but on the available hardware in PS4 and XBONE.
The CPU architecture is the same as in the FX chips.
Naturally, any cross platform game will benefit from the similar CPUs.
The same is true for the GPUs and Mantle.
Both MS and Sony may claim, the APIs for their consoles are their own, but the HW is from AMD and they certainly have provided the libraries and coding guides - this strongly points to Mantle.

September 27, 2013 | 10:06 AM - Posted by Josh Walrath

PS4 and XBOne both utilize Jaguar based cores... FX chips are Piledriver.  There are HUGE differences between those products.  Do not automatically assume that titles optimized for those 8 core, Jaguar based units will automagically work better on Piledriver based CPUs/APUs.  Hell, Steamroller has far more in common with Piledriver than Jaguar.

September 27, 2013 | 11:09 AM - Posted by Positron (not verified)

Bulldozer/Piledriver cores run at twice the clockspeed of the Jaguar cores. That should be sufficient to overcome any specific Jaguar optimizations.

September 27, 2013 | 11:21 AM - Posted by Josh Walrath

But Intel's last several generations of i7/i5/i3 processors all have better IPC than Piledriver and run at the nearly the same clock rates... so shouldn't they also overcome those Jaguar optimizations as well?  So its a push when it comes to desktop processors when dealing with this code?

September 26, 2013 | 04:14 AM - Posted by Rambito (not verified)

Will mantel only support APU's running GCN cores.
Will it support FX series.
Is it just a new render that substitute DX11 or is it hardware(architecture) and software change.
Also do you think it will only support PCIE 3.0 or backward compatible. So many questions about this...

September 26, 2013 | 10:45 AM - Posted by Josh Walrath

For the time being it looks like it will only support GCN based graphics.  So Llano, Trinity, and HD 6000 series and below may not work with Mantle... but we don't know that for sure.  My guess is that anything less than GCN will not be supported.  

FX series?  You mean the CPUs?  If so, then no... it will only work on GPUs.

Mantle won't care if you use PCI-E 1.0.  It is an API that communicates in a very direct manner with the GPU.

September 27, 2013 | 04:33 AM - Posted by Anonymous (not verified)

According to the claims from dice, Mantle reduces the overhead so much, that they finally can really use all CPU cores available for a game.
So Mantle has an indirect effect on the CPUs and will even improve the performance in this regard.

September 27, 2013 | 10:06 AM - Posted by Josh Walrath

If that is the case, then I am really excited to get to test this out come December.

September 26, 2013 | 05:38 AM - Posted by IndoAssassin (not verified)

Is Mantle open API? If it is, will Nvidia adopt it?
If Nvidia does adopt it why would Valve not then implement Mantle into their OS?

September 26, 2013 | 10:48 AM - Posted by Josh Walrath

Mantle is not an open API.  It is essentially a tool that allows programmers to more directly access the GPU, without multiple layers of software dictating behavior.

NVIDIA cannot adopt it because it is AMD's API, and furthermore their GPU designs are totally different, so such a low level API will not work at all for NVIDIA hardware.  They would need to do some kind of emulator to sit between Mantle and their GPU (which has been done in the past for D3D/GLIDE games), but that emulator will likely have just as big of a performance hit as when using standard DX11/DirectX.

September 26, 2013 | 03:46 PM - Posted by Desp (not verified)

Techspot confirmed that Mantle is an open API.

"We've been told at the GPU14 Tech Day event that the Mantle API is open, so theoretically Nvidia could purpose the technology in their GPUs. It should also make cross-development between PC and console games a lot easier, and also more incredible for those with a high-performance AMD GPU."

http://www.techspot.com/news/54134-amd-launches-mantle-api-to-optimize-p...

September 26, 2013 | 04:06 PM - Posted by Josh Walrath

Huh, this is going to be interesting exactly how this will shake out.  Gonna need to get more info out of AMD how exactly they think this can be implemented.

September 29, 2013 | 08:32 PM - Posted by Chris Stevenson (not verified)

I think it would be possible to NVidia to develop a GPU that performs well with Mantle. The real question is will NVidia so do.

September 30, 2013 | 12:13 PM - Posted by Josh Walrath

I guess anything is possible.  If Mantle is truly an open API, then NVIDIA might be able to develop a lightweight driver that fits between the hardware and Mantle.  Perhaps think of it like a mini-GL back in the GLIDE days (remember that Quake/Quake II were developed with OpenGL in mind, but few graphics guys had a full OpenGL ICD available.  We will find out more at APU14 when they disclose more of the specifics.

September 26, 2013 | 07:02 AM - Posted by Daniel Nielsen (not verified)

So am i right in thinking this is sort of like low level hardware access to that what developers can get in the consoles for example?

If so, this will be really interesting.

September 26, 2013 | 10:50 AM - Posted by Josh Walrath

You are absolutely correct.  While the consoles do use D3D (XBOne) and OpenGL (PS4), those software layers are very optimized and have very low overhead.  This is because the driver model does not have to be so general as to support multiple hardware combinations.

September 26, 2013 | 07:16 AM - Posted by Coupe

Seriously, Josh is one of the best writers in the tech industry.

September 26, 2013 | 10:51 AM - Posted by Josh Walrath

Well thanks, I appreciate it.  But there are some seriously good writers out there that outstrip me.

September 26, 2013 | 06:51 PM - Posted by derz

hes so modest

September 26, 2013 | 07:42 AM - Posted by artins90 (not verified)

I hope AMD won't abandon 7000 series users let's hope DX 11.2 and Mantle are coming to the 7000 series, fingers crossed.

September 26, 2013 | 10:53 AM - Posted by Josh Walrath

I'm pretty sure that DX 11.2 and Mantle will be coming to the HD 7700 series and above.  Especially since most of the A7 and A9 series (except 290/290X) are all rebrands of current HD series GPUs based on GCN.

September 26, 2013 | 08:17 AM - Posted by Klimax (not verified)

Sorry, but it is move back to 90s and fragmentation. DirectX doesn't impose that huge overhead, but definitely allows for uniform access.

Mantel is just another name for vendor lock-in and new Glide. There is no advantage for us gamers or for us programmers. We won't get better graphics, we will just get incompatibility. AMD shouldn't be praised for this, because it is even worse then PhysX...

September 26, 2013 | 09:46 AM - Posted by Can you even read? (not verified)

Uniform access? You mean like vendor locked to M$haft.
No, a new lower level cross platform API is totally win.

September 26, 2013 | 11:36 AM - Posted by ltguy (not verified)

This is a sad day. All my excitement for how consoles would benefit pc gaming is gone now that I see that AMD wants all the cross platform games to only run well on their video cards. I was completely against Nvidia during their physx days and likewise I wont support AMD during their mantle days. Just when pc gaming was finally starting to pick up again, fragmentation from steam os and amd mantle are going to drag us right back down.

September 27, 2013 | 10:14 AM - Posted by Josh Walrath

Meh, that's a bit of an overreach.  It is a feature that AMD is offering, but it certainly won't cut the other players out.  NV and Intel have a lot of pull.  Intel is getting VERY serious about graphics these days, so they won't put up with a lot of nonsense.  Plus then we also have the guys in the mobile space... Imagination Tech/PowerVR, Qualcomm/Adreno, and ARM/Mali.

I have a theory about how all of these things are going to shake out... but I need to get more information to discuss it at length.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote><p><br>
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.