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 30, 2013 | 03:21 AM - Posted by Jules (not verified)

It's a sad day because a cross platform open API that let's multiplatform game developers port their console games to PC with console optimization AT NO EXTRA COST?

AMD just give A LOT MORE value to their customers, unlike some that promote proprietary format, and those who removes modest 'free' overclocking...

Or it's a sad day because you like companies other than AMD?

Tell me more about your "sad day".

September 30, 2013 | 09:17 AM - Posted by Josh Walrath

We are not entirely certain that porting from PS4/3 or XBox/XBOne to Mantle will entail no extra cost.  My understanding here is that while the APIs for consoles are pretty lightweight and allow for a great deal of control by the software guys, they are not identical to what Mantle is.  I like that we have more flexibility in the future for the PC, but I don't think that it will be free for any software/game dev to port to Mantle.  DICE, with the help of AMD, will only be releasing their Mantle implementation about 2 months after the release of BF4.  The BF4/AMD deal has cost AMD millions of dollars to not only get them into the Never Settle, but also to help pay for the implementation of BF4/Mantle.

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

My gut feeling here is that it will have an impact on gaming much like PhysX has.  Sure, they are in games, but most of it is using the CPU fallback rather than GPU accelerated.  I think that we will see a few titles which will use this, but I really don't think that most developers will spend the extra time and money to develop a Mantle pathway.  Time and money will trump all when it comes to developers, and unless you are a guy like Carmack who does such things for fun and self-education, I think the impact Mantle will have will be pretty insignificant.

September 30, 2013 | 12:29 PM - Posted by Anonymous (not verified)

But isn't that the wrong way around....most games are developed with the console as priority as that's where the money is...if the consoles are using low level api's similar to Mantel then the question is surely whether they would spend the extra dolar to make D3D/OpenGL versions for PC instead of just shipping them in Mantle versions.

September 30, 2013 | 04:42 PM - Posted by Josh Walrath

So all those NVIDIA and Intel graphics customers have no choice but to either buy an AMD card or skip the game altogether?

September 30, 2013 | 12:29 PM - Posted by Anonymous (not verified)

But isn't that the wrong way around....most games are developed with the console as priority as that's where the money is...if the consoles are using low level api's similar to Mantel then the question is surely whether they would spend the extra dolar to make D3D/OpenGL versions for PC instead of just shipping them in Mantle versions.

September 26, 2013 | 07:32 AM - Posted by Shrouty Ryan (not verified)

Fantastic article as always Josh, thank you.

September 26, 2013 | 09:35 AM - Posted by praack

nice article Josh,

the fact that there is a defined performance hit using the high level programming should be a wake up call on its own. though you always get some performance impact usually it is not that much, but over the years the levels of coding have increased from those years done as you say "at the metal"

to perform programming with little additional resource impact but at a low level that increases performance- well that is a win-win scenario

September 26, 2013 | 10:11 AM - Posted by Anonymous (not verified)

What does this Mantle move do for AMD's OpenGL support, and the open source graphics programs, and other software that use OpenGL? Will there be continued support for openGL standards and legacy applications?

P.S. Your website Locks UP IE 9, and my computer for about 30 sec. before Your page finally loads.

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

It really shouldn't have any negative effect on OpenGL.  AMD will still develop drivers for D3D and OpenGL, not to mention OpenCL and other GPGPU languages.

Not sure why the website locks up your browser... will pass that info along.

September 26, 2013 | 10:57 AM - Posted by Gregster

Great read cheers Josh. Just getting my head around this a bit but would it not pay for MS and Sony to adopt this mantle as well? Unless I am missing something and they already are, it seems the obvious choice to me.

September 26, 2013 | 11:32 AM - Posted by Josh Walrath

Since Sony and MS build their solutions around these chips from the ground up, they already are running software that is close to the metal.  There is no reason to put these thick abstraction and OS layers over draw calls if developers are only writing code for very specific hardware configurations.  It is like compiling Linux on a single machine.  You only have to include the basic stuff you need for the hardware that is present.

September 26, 2013 | 11:59 AM - Posted by Gregster

Makes sense cheers for clearing that up.

September 26, 2013 | 01:36 PM - Posted by Anonymous (not verified)

I figure it will make sense for the game studios to adopt this for console-oriented games, esp. if both XBox and PS4 support it (which AMD will make happen, I'm sure). This will in fact make ports of those games easier and better-performing, for AMD-based cards. Should blunt the advance of NVidia, as well as making Intel's increasingly performant graphics solutions less desirable.

September 26, 2013 | 11:42 AM - Posted by Mladen T (not verified)

DICE presentation mentioned several improvements in CPU accessing and rendering performance with Mantle API. Im very curious to see what gains we will get in real-world tests (BF4).
http://www.techpowerup.com/img/13-09-25/mantle3.jpg

September 26, 2013 | 12:47 PM - Posted by Josh Walrath

Absolutely.  Proof is in the pudding?  That is the test we are all waiting for.  DICE has also been enthusiastic for using up to 8 threads in their games... and utilizing the latest 4 module FX cores.  Everyone is very curious about how BF4 turns out.

September 26, 2013 | 01:05 PM - Posted by arbiter

I have voiced this a few times, but for people that can remember back to when MS didn't use NT based OS, the old Windows 9x windows how unstable things could get when programs have low level access to the hardware. With it not using DX, wonder what kinda graphic's different there will be.

September 26, 2013 | 09:29 PM - Posted by ezjohny

Excellent article Josh, very interesting too. I am curious about this mantle, lets hope it is a step up for AMD, if it is. Then AMD needs too focus on making there APU # 1 if they could do it. PC gamer out.

September 27, 2013 | 05:35 AM - Posted by Carlo (not verified)

Josh: do you know if Mantle handles the new audio "onboard" on the video card ?

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

They have not given us such details at this time.  It might, but the audio stack in Windows may not allow such direct control?  I'm not ruling it out though, it is a complex implementation considering what happened with hardware audio when Vista came out and MS took over the audio stack in software.

September 30, 2013 | 05:08 AM - Posted by Carlo (not verified)

Thanx Josh.
I was dreaming about the possibility to handle sound source very much like light source, in the same 3d virtual world.
Every mob that can be draw in 3d could have its attached sound properly propageting, reflecting etc.

Hundred of sounds all at once.

Bye.

September 30, 2013 | 08:03 AM - Posted by Josh Walrath

I believe that what you have described is what Aureal was attempting to do before they were litigated into oblivion.

September 27, 2013 | 08:10 AM - Posted by Anonymous (not verified)

From many dev interview I read before these anouncement, they were asking this kind of Mantle

so AMD respond to it specialy cause now all platforme can have GNC gpu
so it's a saving of time for dev that what more controle on their render

for NVIDIA to bad maybe... but they can also propose same tool for dev that want to push theire card

but it's a good thing for PC cause now wee can expect beter optimize game developped for console in first place

September 27, 2013 | 08:11 AM - Posted by Anonymous (not verified)

"dev that want"

September 27, 2013 | 08:39 AM - Posted by Goofus Maximus (not verified)

Thank you for removing the crust of obfuscation to get right to the core of Mantle, even though you had enough on your plate already, so it wouldn't have been your fault if you'd drifted off to another topic...

I'm on a roll!

September 27, 2013 | 09:22 AM - Posted by Josh Walrath

Well, if you are expecting to see a seismic shift in the marketplace, then perhaps you should look elsewhere for the generation of a tsunami-like event.  The plume of information that we were given was not actually as extensive as we had hoped, but hopefully this information will not be subducted by an upthrust of new information from other movers and shakers in the industry.

Good, no?

September 28, 2013 | 08:14 AM - Posted by Goofus Maximus (not verified)

That was igneous! I mean ingenious!

September 28, 2013 | 11:59 PM - Posted by Anonymous (not verified)

Source: http://wccftech.com/battlefield-4-frostbite-3-support-amd-mantle-nvidia-...

Main points:

(1) Frostbite 3 will render natively with Mantel on Windows
(2) Full access to graphics hardware capabilities
(3) Lots of low-level optimizations
(4) Frostbite 3 will be used in 15+ AAA titles
(5) Mantle is a low-level high-performance console-style graphics API for PC
(6) Built by AMD in close collaboration with DICE/EA

September 30, 2013 | 08:09 PM - Posted by drbaltazar (not verified)

Am I reading wrong or amd still is ignoring the message signal interrupt (or its extended variant)lack?I understand for a thing like CCP eve the norm is one MSI per socket!and I know ms by default limit MSI to 1 per socket for driver activation of MSI!but can't amd supply a way for user to put proper value like a i7 2600 k shouldn't be at 1 MSI!it should be at 4 !how they expect people to have smooth gaming if their most basic foundation aren't properly set at gamer end!

October 6, 2013 | 08:59 AM - Posted by Anonymous (not verified)

So BF4 will support 8 cores, but with mantel no need for that many cores(processing power).
PR gimmick?
What I'm missing in this picture!?

Nvidia players need to buy an Intel 8 core cpu, to get full experience on BF4?(that will be a cheap upgrade, lol)

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.