Microsoft And The Dots Surrounding "Mantle"
The above tweet from Mr. John Carmack received a good bit of attention after the GPU 2014 event held by AMD. In one block less than 140 characters, Mr. Carmack spurred numerous speculative articles regarding the hostility console makers Microsoft and Sony (SNE) would likely have with Mantle.
To explain why I think it could be extremely beneficial to Microsoft, look at previous rumors surrounding Microsoft's DirectX.
When looking through rumors in tech, you must be careful you're not finding the same rumor re-hashed in various articles around the interweb, if the rumor originates from a questionable source.
In January, a person in the industry that works with DirectX posted two separate emails supposedly from Micosoft, one stating DirectX was being killed off, with a follow-up email stating it is alive and well. A few more reputable sites then took this blog post and published articles regarding these emails and what it could mean for the industry (I, II). Note the articles covered both the cancellation rumor of DirectX along with the follow-up stating DirectX would not be cancelled.
Shortly after, you have an interview with AMD's Mr. Roy Taylor with Mr. Taylor stating DirectX 12 is unlikely. This was followed by the announcements that DirectX 11.2 would be exclusive to Windows 8.1 and Xbox One. Add to this AnandTech's article speculating that Mantle is at least closely tied to Xbox One's low level API, if not a direct derivative.
During the presentation, Johan made two separate points I would like to highlight. The first, Microsoft added DirectX 11.1 optimizations at Dice's request for Battlefield 4. Second, Johan calls out a specific challenge on PC is the inefficiency of data sharing between the CPU and GPU. To make the last point more clear, look at a quote from Bit-Tech from 2005 regarding the Xbox 360:
The architecture that sits beneath the processor is rather radical, and it's something that, quite honestly, we're still trying to get our heads around. Rather than using separate graphics and system memory, it appears that the Xbox 360 uses a unified memory architecture that splits the memory as it needs. The actual memory itself is GDDR3, the same stuff you'll find on the latest graphics boards from ATI. There's no physics processing unit, which is something that was rumored awhile back. Instead, Microsoft are banking on the triple-core to handle those kinds of calculations. We are rather unlikely to see this kind of shared memory architecture in PCs any time soon because it would require a substantial redesign of the entire platform, which isn't something that either AMD or Intel are keen to do right now.
The Xbox 360 utilized a UMA (Unified Memory Architecture). So the memory architecture in both next generation consoles are shifting to something that more mimics the design of the 360, and AMD's vision of a hetergenous UMA, which relates back to HSA.
In summary, the dots presented are:
- Rumors and speculation regarding the cancellation of DirectX
- DirectX 11.2 is exclusive to Windows 8.1 and Xbox One
- Johan's presentation on Mantle, in which he called out inefficiencies in programming pools of memory separately and that Dice worked with Microsoft to improve DirectX 11.1 functionality for Frostbite 3 (big dot)
- Anandtech's article speculating that Mantle is directly related to the Xbox One low level API
- That Xbox 360 architecture used a UMA prior to either new generation of console
From these dots, I think the logical pictures to draw are either that:
- The dots are unrelated and Microsoft knew nothing of Mantle
- Microsoft knew about Mantle, but is not involved
- Microsoft was involved with Mantle
Exploring The Various Scenarios
I feel scenario two is the most likely. Given that Microsoft worked with Dice to implement functionality into DirectX 11.1, and this seems like the type of project that may at least indirectly involve Microsoft, given that Mantle is compatible with DirectX High Level Shader Language. Although I believe this is the likely scenario, it is also fairly mundane.
In my view, the best case scenario for AMD is that Mantle is indeed the low level API of the Xbox One. This would be best case for both Microsoft and AMD. Microsoft will face competition from both the Playstation 4 and various versions of the SteamBox when it makes its debut. According to Johan's slides, Mantle is aimed directly at fixing the problems developers have with PC gaming.
Given that the emails mentioned earlier stating "DirectX was no longer evolving as a technology" (followed by a quick retraction), along with Mr. Taylor's comments stating we may not see a DirectX 12, I do not feel it is out of the realm of possibility that Microsoft has direct involvement in the project. I will point out that both Promit Roy (emails regarding DirectX) and AnandTech both seem to have NDA agreements (Mr. Roy with Microsoft and AnandTech with AMD). That is why I somewhat trust those speculative rumors more than some others I read.
To Microsoft, Mantle represents furthering gaming in the PC industry. Given that Microsoft is currently the most prevalent operating system among gamers, they should fully support Mantle if it gives a boost to gaming in Windows. This especially rings true if developers are pushing for this to unlock PC potential.
Coming back to the other two points that either Microsoft knew about Mantle but was not involved or Microsoft knew nothing of the project, at worst Mantle represents a major threat to Microsoft only if the company does not adopt it while Microsoft's competition does.
I Do Not Believe Mantle Can Be A Bad Thing For AMD
If you consider the overall PC market, it can be described via two separate duopolies: Intel and AMD comprise the majority of the processors in the PC market, with AMD and Nvidia supplying the majority of higher end graphics. Note that Intel does supply a majority of graphics for non-gaming applications through their iGPUs.
To tie this back to Mr. Carmack's tweet, I feel there is some over-analyzing going on. Intel supplies ~85% or so of the CPUs to all PC vendors. Regardless of how PC vendors feel about the situation, Intel still makes money hand over fist.
Mantle represents a way for AMD to differentiate the company simultaneously from Intel and Nvidia. I could link to countless articles stating that the mobile industry is killing the PC industry. Much of the industry focus has shifted to mobile computing. Stock holders want to see progress on this front.
While other companies are battling for mobile marketshare, AMD aligned the company with developers in the gaming industry, and has focused on a market in which their IP gives them a competitive advantage. Gaming means graphics. Developers wanted ease of portability between consoles and PCs. Console makers did not want to take a massive loss on this generation with proprietary hardware. Regardless of whether or not Nvidia "gave" consoles to AMD, Nvidia could not offer console makers an economical x86 APU solution as AMD has. And given the long lifecycle of consoles, AMD has placed the company at the heart of an industry for a period of several years.
Lastly, coming back to the architecture of the Xbox 360 and HSA, one of the often cited factors regarding HSA is a barrier to entry created by coding for a new architecture (unified memory). I know next to nothing about coding on an Xbox 360, so I will only point out that the Xbox 360 used a unified memory architecture, and therefore developers already have some practice with the hardware. In this generation, developers will utilize a unified memory architecture in both the Playstation 4 and Xbox One. This aligns with AMD's vision for HSA, and does not give coders much of a choice whether or not to learn the intricacies HSA/hUMA will introduce.
Taking this idea of not giving programmers much of a choice one step further, if Mantle does provide a significant performance boost in games, it would be unwise for one developer not to use it if the developer's competition is successfully taking advantage of AMD's low level API to eek out more performance.
Why Will Mantle Be Different Than Proprietary APIs That Have Been Tried Before?
VR-Zone's Sam Reynolds secured an interview with AMD's Mr. Ritchie Corpus and asked why AMD felt Mantle would be successful. The entire article is worth a read, so rather than re-hashing the interview in its entirety, I will suggest reading it. Two things I will point out specifically from the interview is that AMD has stated it received feedback on Mantle from other partners that have not yet been disclosed, and that it states it has worked with Valve on the SteamOS as well. Opponents of Mantle state that AMD needs developer support to get Mantle off the ground. The interview sheds some light, albeit dim, on the situation.
Opponents of Mantle also compare it to previous attempts at proprietary, low level APIs. AMD plans to make Mantle open source in the near future. And unlike before when there were proprietary APIs, the console and PC gaming industries have largely merged in regards to available content. Mantle seems like it will make it easier to increase portability across the various platforms. Typically, consoles are the end destination for games and they are later ported to PC. Mantle should give developers the tools they need to co-develop for the different consoles and PCs without having to sacrifice too much time and effort. In the end, Mantle provides a way to make a developer's life easier, incentivizing the developer's effort. This is especially good for AMD in that consoles, the target platform for the majority of games, utilizes AMD IP.
Nvidia could adopt a similar solution, but based on the slides from Johan, it seems like Mantle was not an overnight solution. Nvidia also has a low level API, NVAPI. However, the difference here is that AMD powers both PCs and consoles, giving developers added incentive to ensure Mantle is utilized. If developers want to do similar tricks with Nvidia cards, these tricks will have to be implemented solely for the PC port of the game.
Going back to the beginning of the year, articles revolving AMD were typically more focused on the company's survival. In a period of 6 months, the tone of the conversation has at least somewhat shifted.
In Slingshot, the former CEO of AMD, Mr. Hector Ruiz, describes many of the obstacles he faced trying to navigate the company around Intel. But Mr. Ruiz was trying to fight a different battle. AMD was going head to head with Intel in the CPU space, of which Intel was the dominant player. It appears to me, at least, AMD is shifting the battle a great deal to a playing field its IP is better equipped to fight on.
On the left, you have Intel in mainly the CPU space. On the right, you have Nvidia playing in the graphics space. In the middle, there is a unique environment in which AMD can carve out a market for the company where its IP gives it the advantage. And the advantage should last several years given the console lifecycle.
The best case scenario I feel regarding the situation is that Microsoft is backing Mantle. Microsoft represents a powerful friend with deep pockets that AMD may be able to catch a ride in.
In the other scenarios in which Microsoft either knew of Mantle but wasn't directly involved, or knew nothing of Mantle, the argument that console makers may be hostile toward Mantle should give clout to its value and potential.
With the rest of the silicon suppliers focused on mobile, AMD has managed to secure a high volume, sustainable market. Looking at consoles in a vacuum may lead to the conclusion that the console market alone will not be enough to sustain AMD. Peeking outside this vacuum reveals intangible benefits that are starting to become apparent. And somewhat related, it appears that next year there is a chance that AMD will start offering ARM based tablet chips as well. ARM based tablet chips to complement x86 SoCs would be in line with the company's ambidextrous approach.
More technical details regarding Mantle will be announced at AMD's APU 2013 event. For any AMD stockholders, this is a "not to be missed" event.
Additional disclosure: I own both shares and options in AMD. I actively trade both my AMD and INTC positions, and may add or liquidate positions at any time.