GPUOpen
GPUOpen is a middleware software suite originally developed by AMD's Radeon Technologies Group that offers advanced visual effects for computer games. It was released in 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.[2] However, GPUOpen is entirely open source software, unlike GameWorks which was heavily criticized for its proprietary and closed nature.
Original author(s) | Advanced Micro Devices |
---|---|
Developer(s) | Advanced Micro Devices |
Initial release | January 26, 2016[1] |
Repository | |
Written in | C, C++, GLSL |
Operating system | Linux, Microsoft Windows |
Type | Game effects libraries, GPU debugging, CPU & GPU profiling |
License | MIT License |
Website | gpuopen |
History
GPUOpen was announced on December 15, 2015,[3][4][2][5][6] and released on January 26, 2016.
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".[7] 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.[8]
Components
GPUOpen unifies many of AMD's previously separate tools and solutions into one package, also fully open-sourcing them under the MIT License.[4] GPUOpen also makes it easy for developers to get low-level GPU access.[9]
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.[2]
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:[10]
Name | source-code | API | OS | Visual effects |
---|---|---|---|---|
TressFX 3.0 | TressFX | D3D 11 | Windows 64-bit | rendering of hair, fur, and grass |
GeometryFX | GeometryFX | geometrical things | ||
AOFX | AOFX | Ambient occlusion | ||
ShadowFX | ShadowFX | Shadows | ||
FidelityFX | D3D 11, D3D 12 and Vulkan | sharpening, ambient occlusion, screen space reflection, HDR mapping, denoising, downsampling, super-resolution (WIP) |
Tools
The official AMD directory lists:[11]
Name | source-code | API | OS | Task |
---|---|---|---|---|
CodeXL | CodeXL | Direct3D, OpenGL, OpenCL, Vulkan | Linux Windows | software development tool suite that includes a GPU debugger, a GPU profiler, a CPU profiler, a static OpenCL kernel analyzer and various plugins. no longer branded as an AMD product.[12] |
static analyzer for AMD CodeXL | amd-codexl-analyzer | Direct3D, OpenGL, OpenCL | Linux Windows 64bit | Off-line compiler and performance analysis CLI-tool for processing: OpenCL kernels, HLSL shaders and GLSL shaders part of the AMD CodeXL tools suite Requires either Radeon Software Crimson Edition or AMD Catalyst to be installed to run this tool.[13] |
D3D 12 plug-in for GPU PerfStudio | amd-gpuperfstudio-dx12 | Direct3D 12 | Windows | a plug-in to GPU PerfStudio GPU perfstudio[14] |
Tootle | amd-tootle | agnostic | Linux Windows | Triangle Order Optimization Tool; originally developed in 2006; can be easily integrated as part of a rendering or mesh pre-processing tool chain[15] Cf. http://mgarland.org/files/papers/quadrics.pdf |
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[16]), Mesa 3D and LLVM.
Software development kits
Name | source-code | API | OS | Task |
---|---|---|---|---|
LiquidVR SDK | LiquidVR | D3D 11 | Windows | improves the smoothness of virtual reality.[17] The aim is to reduce latency between hardware so that the hardware can keep up with the user's head movement, eliminating the motion sickness. A particular focus is on dual GPU setups where each GPU will now render for one eye individually of the display |
FireRays SDK | FireRays_SDK | agnostic | 64-bit Linux, OS X, 64-bit Windows | A high efficiency, high performance heterogeneous ray tracing intersection library for GPU and CPU or APU on any platform. |
FireRender SDK | FireRenderSDK | ? | physically-based rendering engine | |
RapidFire SDK | N/A | ? | facilitates the use of AMD's video compression acceleration SIP blocks VCE (H.264 encoder) and UVD (H.264 decoder) for "Cloud gaming"/off-site rendering |
Professional Compute
Software around Heterogeneous System Architecture (HSA), General-Purpose computing on Graphics Processing Units (GPGPU) and High-Performance Computing (HPC)
Heterogeneous System Architecture
- HSAIL-GDB: provides an GNU Debugger-based debugging environment for HSA Intermediate Layer (HSAIL)
- HSA Runtime APIs
- Linux amdkfd v1.6.1 release for Kaveri & Carrizo
Radeon Open Compute (ROCm)
AMD's "Boltzmann Initiative" (named after Ludwig Boltzmann) was announced in November 2015 at the SuperComputing15 [18][19][20][21][22] and productized as the Radeon Open Compute platform (ROCm). 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.
- Radeon Open Compute Kernel (ROCK) driver
- Radeon Open Compute Runtime (ROCR) runtime
- HCC: Heterogeneous Compute Compiler
- HIP: C++ Heterogeneous-Compute Interface for Portability
Various
- clFFT library for Fast Fourier transform written in OpenCL
- hcFFT library for Fast Fourier transform written in HCC-optimized C++
Availability
GPUOpen are available under the MIT license to the general public through GitHub starting on January 26, 2016.[4]
There is interlocking between GPUOpen and well established and widespread free software projects, e.g. Linux kernel, Mesa 3D and LLVM.
See also
References
- AMD: GPUOpen (2016-01-26). "Welcome to GPUOpen". Archived from the original on 2016-03-05.
- Tom's Hardware (2015-12-15). "AMD GPUOpen: Doubling Down On Open-Source Development". Retrieved 2016-01-24.
- Maximum PC (2015-12-15). "AMD Radeon Technologies Group Summit: GPUOpen and Software". Retrieved 2016-01-24.
- AnandTech (2015-12-15). "AMD's GPUOpen bundle of developer tools in 2016". Retrieved 2016-01-24.
- Heinz Heise (2015-12-16). "AMDs Open-Source-Initiative GPUOpen: Direkte GPU-Kontrolle und bessere Treiber" (in German).
- PC Games Hardware (2015-12-16). "AMD GPU Open: Radeon-Software wird bald zu 100 % Open-Source" (in German).
- https://web.archive.org/web/20160305020432/http://gpuopen.com/welcometogpuopen/
- wccftech.com (2015-12-15). "AMD's Answer To Nvidia's GameWorks, GPUOpen Announced". Retrieved 2016-01-24.
- HotHardware (2015-12-15). "AMD Goes Open Source, Announces GPUOpen Initiative, New Compiler And Drivers For Linux And HPC". Retrieved 2016-01-24.
- https://github.com/GPUOpen-Effects/
- https://github.com/GPUOpen-LibrariesAndSDKs/
- AMD GPUOpen (2016-04-19). "CodeXL 2.0 made open-source".
- AMD GPUOpen (2016-01-26). "CodeXL Static Analyzer CLI".
- AMD GPUOpen (2016-01-26). "Create Your own GPU PerfStudio Direct3D 12 Plugin".
- AMD GPUOpen (2016-01-26). "Have You Tootled Your 3D Models?".
- "Linux kernel 4.2 /drivers/gpu/drm/amd".
- Heinz Heise (2015-03-04). "LiquidVR: Neues Virtual-Reality-SDK von AMD" (in German).
- AnandTech (2015-11-16). "AMD@SC15: Boltzmann Initiative Announced - C++ and CUDA Compilers for AMD GPUs".
- Heinz Heise (2015-11-17). "Supercomputer: AMD startet Software-Offensive "Boltzmann"" (in German).
- 3dcenter.org (2015-11-16). "AMDs Boltzmann-Initiative geht direkt gegen nVidias CUDA" (in German).
- AMD (2015-11-16). "AMD Launches 'Boltzmann Initiative'".
- AMD (2015-11-16). "A Defining Moment for Heterogeneous Computing".