Original author(s) Development status In development | Developer(s) Advanced Micro Devices Written in C, C++, GLSL | |
![]() | ||
Initial release January 26, 2016 (2016-01-26) Operating system |
GPUOpen is a middleware software suite originally developed by AMD's Radeon Technologies Group that offers advanced visual effects for computer games. It was announced on December 15, 2015 and released on January 26, 2016. GPUOpen serves as an alternative to, and a direct competitor of Nvidia GameWorks. GPUOpen is similar to GameWorks in that it encompasses several different graphics technologies as its main components that were previously independent and separate from one another. However, GPUOpen is entirely open source software, unlike GameWorks which has been heavily criticized for its proprietary and closed nature.
Contents
Rationale
Nicolas Thibieroz, AMD's Senior Manager of Worldwide Gaming Engineering, argues that "it can be difficult for developers to leverage their R&D investment on both consoles and PC because of the disparity between the two platforms" and that "proprietary libraries or tools chains with "black box" APIs prevent developers from accessing the code for maintenance, porting or optimizations purposes." He says that upcoming architectures, such as AMD's Rx 400 series "include many features not exposed today in PC graphics APIs."
AMD designed GPUOpen to be a competing open-source middleware stack released under the MIT License. The libraries are intended to increase software portability between video game consoles, PCs and also High-performance computing.
Components
GPUOpen unifies many of AMD's previously separate tools and solutions into one package, also fully open-sourcing them under the MIT License. GPUOpen also makes it easy for developers to get low-level GPU access.
Additionally AMD wants to grant interested developers the kind of low-level "direct access" to their GCN-based GPUs, that surpasses the possibilities of Direct3D 12 or Vulkan. AMD mentioned e.g. a low-level access to the Asynchronous Compute Engines (ACEs). The ACE implement "Asynchronous Compute", but they cannot be freely configured neither under Vulkan nor under Direct3D 12.
GPUOpen is made up of several main components, tools, and SDKs.
GPUOpen – Games and CGI
Software for computer-generated imagery (CGI) used in development of computer games and movies alike.
Visual effects libraries
The official AMD directory lists:
Tools
The official AMD directory lists:
Having been released by ATI Technologies under the BSD license in 2006? HLSL2GLSL is not part of GPUOpen. Whether similar tools for SPIR-V will be available remains to be seen, as is the official release of the Vulkan (API) itself. Source-code that has been defined as being part of GPUOpen is also part of the Linux kernel (e.g. amdgpu and amdkfd), Mesa 3D and LLVM.
GPUOpen – Professional Compute
Software around Heterogeneous System Architecture (HSA), General-purpose computing on graphics processing units (GPGPU) and High-performance computing (HPC)
Heterogeneous System Architecture
AMD Boltzmann Initiative
AMD's "Boltzmann Initiative" (named after Ludwig Boltzmann) was announced in November 2015 at the SuperComputing15. It aims to provide an alternative to Nvidia's CUDA which includes a tool to port CUDA source-code to portable (HIP) source-code which can be compiled on both HCC and NVCC.
Various
Availability
GPUOpen are available under the MIT license to the general public through GitHub starting in January 26, 2016.
There is interlocking between GPUOpen and well established and widespread free software projects, e.g. Linux kernel, Mesa 3D and LLVM.