Robert Hallock: GPUOpen is AMD’s Long-Term Open Source Strategy
I love open source. A lot of what we do on this site is because of open source efforts; XDA advocates open source where possible. For those that follow me on The Game Technician you also know that I love writing about tech and gaming — but I still try to keep a look at the development behind it.
Last week AMD completed a major step in its initiative to open things up to the public under GPUOpen — a collection of tools for graphics, high performance compute and heterogeneous computing – as open source under the MIT license model. So when a company does something out of the ordinary, especially one with a large indirect influence in the mobile community, it’s worth looking further into it. I recently had the opportunity to speak with Robert Hallock, AMD’s Head of Global Technical Marketing, and ask a few questions about what this all means.
GPUOpen – AMD’s Open Source Initiative
Why did AMD decide to go with the MIT license over other options?
RH: The MIT License is permissive, short and to the point. It empowers developers to obtain and modify the code, without the burden of tracking and publishing state changes.
So this means no registration, no submission prior to release and, most importantly, no licensing fees. Is that correct?
RH: That’s correct.
Isn’t there a concern that, despite the MIT license requirements, someone will copy GPUOpen content and rebrand it as their own?
RH: Allowing people to fork the project to roll their own, highly-customized, solution is in line with the spirit of open source. This is not the same degree as kanging, which we do not foresee.
In the past AMD made things openly available but not always open source, at least in the way that you have with GPUOpen. Was this a change in strategy?
RH: GPUOpen is the realization of a long-term goal. For many years we made the source to our effects available on the AMD developer website; ditto for all of our engagements with game developers. We’ve known for a while that true open source with the corresponding license was our next and ultimate step.
Will AMD’s open source strategy be limited to GPUOpen or are there other initiatives that we can look forward to?
RH: GPUOpen is a long term strategy; we intend to collect a growing number of open source gaming and compute activities under that umbrella.
GPUOpen Effects (TressFX, AOFX, GeometryFX and ShadowFX) mention that they are optimized for GCN, but is it possible that it will function on other graphics solutions? Obviously with this level of transparency it seems that anyone, in theory, could adjust the lower levels to better work with these now if they wanted to.
RH: That is one of the main objectives of the GPUOpen program: empowering developer with code that runs well on Radeon, and any other target platform. With full source access, a developer is free to add/change/remove anything they want to serve the needs of their game, engine and customers.
Will GPUOpen Effects work “out of the box” for all current gen platforms (XBO, PS4, Wii U)?
RH: The effects we currently provide are for the PC, however their uniquely open source nature makes it very easy for developers to port and scale them for console usage. Games like Rise of the Tomb Raider have already done this.
How about mobile?
RH: GPUOpen presently does not have a play in smartphone or tablet graphics, though the open source nature of the project does not rule out the possibility that someone could do this work.
Is AMD working with anyone to help get GPUOpen Effects incorporated in their game engines (Epic, Unity, etc.)?
RH: The code structure and open source nature of these effects allow them to be integrated into base engines with ease, however we have nothing specific to announce at this time.
GPUOpen Libraries & SDKs
RH: Some of the content new to the GPUOpen portal includes:
- DirectX 12 SDK samples
- LiquidVR SDK
- A new version of the AGS library
- Updated DirectX samples
- FirePro libraries
- DirectX 12 back-end for GPUPerfstudio
- CodeXL CLI.
Professional Compute Tools & HIP
One thing I recall about AMD’s OpenCL attempt to challenge CUDA was adoption rate. I even see in the documentation that it can run on a CUDA platform if set up correctly. But the AMD notes show that HCC is only supported on Kaveri, Carrizo and Fiji at the moment. I know Fiji is in the Fury series, but I would have expected to see support for the FirePro series here.
RH: We intend to add FirePro support to HCC soon.
Could we see HIP being used to accelerate GPUOpen effects down the road?
RH: GPUOpen effects are libraries and samples intended for integration into game titles or engines using the graphics APIs commonly used to build those games (e.g. Direct3D). Those APIs come with their own compute capabilities.
Let’s talk GPUOpen and 2016. What games, if any, can we expect to take advantage of some of the enhancements or new releases as part of GPUOpen?
RH: Rise of the Tomb Raider and Deus Ex: Mankind Divided are two games we can currently discuss that will be using aspects of GPUOpen. The developer of these games demonstrated the full power of source access by building a customized version of TressFX called PureHair. PureHair is available on the consoles and on the PC. This would not be possible in any other game effects program in the market today.
More closer to our “home base,” many eyes are on the Khronos group and upcoming Vulkan API. I know on the desktop side AMD has had quite some involvement. For example, last year you said “The cross-vendor Khronos Group has chosen the best and brightest parts of Mantle to serve as the foundation for “Vulkan,” the exciting next version of the storied OpenGL API.” Given that AMD licenses graphics technology to Qualcomm, can we expect AMD to offer contributions on the mobile side as well?
RH: We donated the complete source code and API specification of the Mantle project to the Khronos Group to serve as the foundation for Vulkan. Vulkan has since added support for multiple OSes, multiple hardware vendors, etc. AMD is a core contributor to the Vulkan specification, too. In these ways it’s easy to see how AMD’s contributions could benefit platforms big and small, but there’s nothing to specific to highlight about Qualcomm or any other mobile graphics vendor.
Other Parts of GPUOpen
While none of this seems to have much impact to our mobile development yet, AMD is gladly inviting developers who want to see where these tools can take them, including as Mr. Hallock mentioned the notion of exploring and possibly expanding the platforms that these tools can be utilized. Some of this will take time to grow like the Boltzmann initiative. It’s also important to note to our readers that included in GPUOpen is the Heterogeneous System Architecture (HSA) Foundation‘s open source libraries, whose founders include many of the same manufacturers of the SoCs that power our mobile devices. I suspect this is something we will all want to keep an eye on, especially as we look to maximize the use of our mobile devices while they idle. And perhaps indirectly this initiative will help encourage members of the organizations they participate in (such as Khronos and HSA Foundation) to follow their lead.
GPUOpen Github Repositories
GPUOpen content is now available on Github, grouped by function/usage.
- GPUOpen Tools
- GPUOpen Libraries & SDKs
- GPUOpen Professional Computing Tools
- GPUOpen Effects
- AMD Compute Libraries
- HSA Foundation
- Radeon Open Compute
Last year I thought AMD business strategy was akin to a chess game, and after looking at GPUOpen and all that it encompasses I think that specific statement was one of the few things I may have gotten right. But what was missed though is who the challenger was in the chess game. In each aspect of AMD’s business model they have run into challengers — Intel on consumer processors, NVIDIA on graphics, many of the partners of the HSA Foundation in the mobile segment. They don’t have a single challenger, they have many. Maybe this wasn’t all planned out the way that it ended up with GPUOpen even — and if it wasn’t, a big round of applause for the folks that did put it together. The fact that you can now get many of the software tools that AMD contributes to take full advantage of their products is to be lauded. Certainly it has to be balanced with the need to protect intellectual property and for that reason I’m not certain we’ll ever see them go completely open source on everything. But the more they do, the higher that bar is set for all of their competitors. And so from those of us at XDA who advocate for open source solutions, we hope AMD will make this a beginning and continue to follow that goal to expand further on this initiative.
So readers: what do you think? Do you think that AMD releasing the GPUOpen tools by open source will cause any changes in the larger picture? Or perhaps you think it’s too limited and won’t apply much? Leave us a comment below and continue the discussion!