AMD Goes Open Source, Announces GPUOpen Initiative, New Compiler And Drivers For Linux And HPC

Last week, we posted a story about the AMD Radeon Technology Group’s plans to support FreeSync over HDMI and other upcoming display technologies like HDR and DisplayPort 1.3. In that story, we mentioned that AMD and the new RTG (Radeon Technologies Group) organization would have more news as the year drew to a close. Today, we can talk about their next major initiative in dirving GPU resources across a wider swath of new applications, known as "GPUOpen."

In a nutshell, AMD is releasing a slew of open-source software and tools to give developers of games, heterogeneous applications, and HPC applications deeper access to the GPU and GPU resources.

gpu open problem

Let’s discuss gaming first. AMD and the RTG are looking for ways to ease game development, so games for PCs and consoles can be produced in a similar manner. To quote AMD, “As a continuation of the strategy we started with Mantle, we are giving even more control of the GPU to developers. As console developers have benefited from low-level access to the GPU, AMD wants to continue to bring this level of access to the PC space.” The AMD GPUOpen initiative is meant to give developers the ability to more easily leverage assets they've already made for console development. With GPUOpen, game developers will have direct access to GPU hardware, as well as access to a large collection of open source effects, tools, libraries and SDKs, which are being made available on GitHub under an MIT open-source license, which essentially gives users unrestricted access to the software.

gpu open 1

AMD hopes that GPUOpen will enable console-style development for PC games through this open source software initiative. But the company doesn’t stop there. GPUOpen also includes an end-to-end open source compute infrastructure for cluster-based computing and a new Linux software and driver strategy

gpu open 2

A few weeks back, AMD announced its Boltzmann Initiative and an HSA (Heterogeneous System Architecture) software suite that includes an HCC compiler for C++ development, which will expand the field of programmers who can leverage HSA. One of the primary goals of Heterogeneous Systems Architecture (HSA) is to help ease the development of parallel applications through the use of higher level languages, like C++. The new HCC C++ compiler is a key tool in enabling developers to more easily leverage the resources of discrete GPU hardware in heterogeneous systems.

gpu open stack

The HCC complier that’s part of the Boltzmann Initiative also allows developers to convert CUDA code to portable C++. According to AMD, internal testing shows that in many cases 90 percent or more of CUDA code can be automatically converted into C++ with the final 10 percent converted manually in the widely popular C++ language. An early access program for the “Boltzmann Initiative” tools is planned for Q1 2016.

amd linux driver 1

AMD GPUOpen also introduces a new Linux driver model and runtime targeted at HPC Cluster-Class Computing. The new headless Linux driver addresses core high-performance computing needs, including low latency compute dispatch and PCI Express data transfers, peer-to-peer GPU support, Remote Direct Memory Access (RDMA) from InfiniBand that interconnects directly to GPU memory and Large Single Memory Allocation support.

It will take some time before the GPUOpen initiative bears fruit, but these moves appear to be heading in the right direction for AMD. Leveraging the open-source community to not only further software development in general, and give developers closer-to-the-metal access to GPU resources, could result in a larger pool of applications optimized to run on Radeon hardware.