stringtranslate.com

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 partially open source software, unlike GameWorks which is proprietary and closed.

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 under either Vulkan or 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

FidelityFX

FidelityFX Super Resolution

FidelityFX Super Resolution (FSR) is used to upsample an input image into a higher resolution. There are multiple versions of FSR with distinctive upscaling technique and image quality:

The standard presets for FSR by AMD can be found in the table below. Note that these presets are not the only way in which the algorithm can be used, they are simply presets for input/output resolutions. Certain titles, such as Dota 2 have offered resolution sliders to fine tune the scaling percentage or dynamically scaling the internal render resolution depending on the FPS cap. AMD has also created a command line interface tool which allows the user to upscale any image using FSR1/EASU as in addition to other upsampling methods such as Bilinear Interpolation. It also allows the user to run various stages of the FSR pipeline, such as RCAS independently.[15]

FSR 2 can also be modded into nearly any game supporting DLSS by swapping the DLSS DLL with a translation layer DLL that maps the DLSS API calls to FSR 2 API calls.[32]


  1. ^ FSR versions stated in italic present hotfixes or minor updates.
  2. ^ The algorithm does not necessarily need to be implemented using these presets; it is possible for the implementer to define custom input and output resolutions.
  3. ^ The linear scale factor used for upsampling the input resolution to the output resolution. For example, a scene rendered at 540p with a 2.00x scale factor would have an output resolution of 1080p.
  4. ^ The linear render scale, compared to the output resolution, that the technology uses to render scenes internally before upsampling. For example, a 1080p scene with a 50% render scale would have an internal resolution of 540p.

Frame Generation

FSR 3 adds frame generation. Launching in September 2023, FSR 3 uses a combination of FSR 2 and optical flow analysis, which runs using asynchronous compute (as opposed to Nvidia's DLSS 3 which uses dedicated hardware). Because FSR 3 uses a software-based solution, it is compatible with GPUs from AMD, Nvidia, and Intel as well as the ninth generation of video game consoles. To combat additional latency inherent to the frame generation process, AMD has a driver-level feature called Anti-Lag, which only runs on AMD GPUs.[13]

AMD Fluid Motion Frames (AFMF) is a driver-level frame generation technology launching in Q1 2024 which is compatible with all DirectX 11 and DirectX 12 games, however it runs on RDNA 2 and RDNA 3 GPUs. AFMF uses optical flow analysis but not motion vectors, so it can only interpolate a new frame between two traditionally rendered frames. AFMF currently is not compatible with VSYNC.[13]

Tools

The official AMD directory lists:[33]

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[38]), Mesa 3D and LLVM.

Software development kits

Professional Compute

As of 2022, AMD compute software ecosystem is regrouped under the ROCm metaproject.

AMD Boltzmann Initiative: amdgpu (Linux kernel 4.2+) and amdkfd (Linux kernel 3.19+)

Software around Heterogeneous System Architecture (HSA), General-Purpose computing on Graphics Processing Units (GPGPU) and High-Performance Computing (HPC)

Radeon Open Compute (ROCm)

AMD's "Boltzmann Initiative" (named after Ludwig Boltzmann) was announced in November 2015 at the SuperComputing15[40][41][42][43][44] 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.

Heterogeneous System Architecture

Various deprecated

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

  1. ^ AMD: GPUOpen (2016-01-26). "Welcome to GPUOpen". Archived from the original on 2016-03-05.
  2. ^ a b c Tom's Hardware (2015-12-15). "AMD GPUOpen: Doubling Down On Open-Source Development". Retrieved 2016-01-24.
  3. ^ Maximum PC (2015-12-15). "AMD Radeon Technologies Group Summit: GPUOpen and Software". Retrieved 2016-01-24.
  4. ^ a b c AnandTech (2015-12-15). "AMD's GPUOpen bundle of developer tools in 2016". Retrieved 2016-01-24.
  5. ^ Heinz Heise (2015-12-16). "AMDs Open-Source-Initiative GPUOpen: Direkte GPU-Kontrolle und bessere Treiber" (in German).
  6. ^ PC Games Hardware [in German] (2015-12-16). "AMD GPU Open: Radeon-Software wird bald zu 100 % Open-Source". PC Games Hardware (in German).
  7. ^ "It's Time to Open up the GPU". Archived from the original on 2016-03-05.
  8. ^ wccftech.com (2015-12-15). "AMD's Answer To Nvidia's GameWorks, GPUOpen Announced". Retrieved 2016-01-24.
  9. ^ HotHardware (2015-12-15). "AMD Goes Open Source, Announces GPUOpen Initiative, New Compiler And Drivers For Linux And HPC". Retrieved 2016-01-24.
  10. ^ "GPUOpen Effects". GitHub.
  11. ^ "FidelityFX". GitHub. 20 October 2021.
  12. ^ "AMD FidelityFX™ Super Resolution 1 (FSR 1)". AMD GPUOpen. Retrieved 2024-05-25.
  13. ^ a b c d "AMD reveals long-awaited FSR 3 tech and frame gen for every DX11/DX12 game". EuroGamer. 25 August 2023. Retrieved 6 September 2023. FSR 3 is a frame generation solution that operates along similar lines to Nvidia's DLSS 3 - combining frame generation (Fluid Motion Frames) with super resolution upscaling (FSR 2) and latency reduction (Anti-Lag+) in a small number of supported games, with Forspoken and Immortals of Aveum set to first debut the technology. FSR 3 will work on Radeon graphics cards, as well as Nvidia and Intel GPUs.
  14. ^ " "AMD claims there's nothing stopping Starfield from adding Nvidia DLSS". The Verge. 24 August 2023. Retrieved 6 September 2023.
  15. ^ GPUOpen-Effects/FidelityFX-CLI, GPUOpen Effects, 2024-05-21, retrieved 2024-05-25
  16. ^ "AMD FidelityFX Super Resolution is coming soon to GPUOpen - AMD GPUOpen". AMD GPUOpen. June 1, 2021. Retrieved March 21, 2023.
  17. ^ "FidelityFX Super Resolution (FSR) source code is here, along with Unity and UE4 support too! - AMD GPUOpen". AMD GPUOpen. July 15, 2021. Retrieved March 21, 2023.
  18. ^ Sommefeldt, Rys (November 16, 2021). "Release FidelityFX FSR v1.0.2 · GPUOpen-Effects/FidelityFX-FSR · GitHub". GitHub. Retrieved March 23, 2023.
  19. ^ a b "The AMD FidelityFX SDK 1.0 is now available on GPUOpen - AMD GPUOpen". AMD GPUOpen. July 11, 2023. Retrieved September 11, 2023.
  20. ^ "It's time for AMD FidelityFX Super Resolution 2.0 - AMD GPUOpen". AMD GPUOpen. March 17, 2022. Retrieved March 23, 2023.
  21. ^ "It's time to see the FSR 2 source code! - AMD GPUOpen". AMD GPUOpen. June 22, 2022. Retrieved March 23, 2023.
  22. ^ "It's time to upscale FSR 2 even further: Meet FSR 2.1! - AMD GPUOpen". AMD GPUOpen. September 8, 2022. Retrieved March 23, 2023.
  23. ^ Sommefeldt, Rys (September 15, 2022). "Release FidelityFX FSR2 v2.1.1 · GPUOpen-Effects/FidelityFX-FSR2 · GitHub". GitHub. Retrieved March 23, 2023.
  24. ^ Sommefeldt, Rys (October 19, 2022). "Release FidelityFX FSR2 v2.1.2 · GPUOpen-Effects/FidelityFX-FSR2 · GitHub". GitHub. Retrieved March 23, 2023.
  25. ^ "Don't cross the streams! Bust more ghosts with the source code to FidelityFX Super Resolution 2.2 - AMD GPUOpen". AMD GPUOpen. February 16, 2023. Retrieved March 23, 2023.
  26. ^ "AMD FidelityFX Super Resolution 2.2.1 hotfix! - AMD GPUOpen". AMD GPUOpen. June 9, 2023. Retrieved June 14, 2023.
  27. ^ "FidelityFX Super Resolution 2.2.2 (FSR2) - FidelityFX SDK - AMD GPUOpen". AMD GPUOpen. Retrieved September 11, 2023.
  28. ^ "With a seasonal frame of mind, in one fluid motion we've generated the AMD FSR 3 GitHub source code repo for gamedevs everywhere! - AMD GPUOpen". AMD GPUOpen. December 14, 2023. Retrieved March 22, 2024.
  29. ^ Sommefeldt, Rys (December 14, 2023). "Release FidelityFX SDK for FSR3 v3.0.4 · GPUOpen-LibrariesAndSDKs/FidelityFX-SDK · GitHub". GitHub. Retrieved March 22, 2024.
  30. ^ Walker, Alex (June 23, 2021). "AMD's FSR Only Supports 7 Games, But It's Already Super Promising". Kotaku Australia. Retrieved July 11, 2021.
  31. ^ Mujtaba, Hassan (March 23, 2022). "AMD Details FSR 2.0: NVIDIA GeForce 10 & Up Support, High-Quality Upscaling Without Machine Learning, More Quality Modes". Wccftech. Retrieved March 24, 2022.
  32. ^ Sims, Daniel (July 5, 2022). "Unofficial FSR 2.0 mod arrives to several more games including Dying Light 2, RDR 2 and Death Stranding". TechSpot.
  33. ^ "GPUOpen Libraries & SDKS". GitHub.
  34. ^ AMD GPUOpen (2016-04-19). "CodeXL 2.0 made open-source". Archived from the original on 2018-06-27. Retrieved 2016-04-21.
  35. ^ AMD GPUOpen (2016-01-26). "CodeXL Static Analyzer CLI".
  36. ^ AMD GPUOpen (2016-01-26). "Create Your own GPU PerfStudio Direct3D 12 Plugin". Archived from the original on 2019-01-09. Retrieved 2016-01-27.
  37. ^ AMD GPUOpen (2016-01-26). "Have You Tootled Your 3D Models?". Archived from the original on 2019-01-09. Retrieved 2016-01-27.
  38. ^ "Linux kernel 4.2 /drivers/gpu/drm/amd".
  39. ^ Heinz Heise (2015-03-04). "LiquidVR: Neues Virtual-Reality-SDK von AMD" (in German).
  40. ^ AnandTech (2015-11-16). "AMD@SC15: Boltzmann Initiative Announced - C++ and CUDA Compilers for AMD GPUs".
  41. ^ Heinz Heise (2015-11-17). "Supercomputer: AMD startet Software-Offensive "Boltzmann"" (in German).
  42. ^ 3dcenter.org (2015-11-16). "AMDs Boltzmann-Initiative geht direkt gegen nVidias CUDA" (in German).{{cite web}}: CS1 maint: numeric names: authors list (link)
  43. ^ AMD (2015-11-16). "AMD Launches 'Boltzmann Initiative'".
  44. ^ AMD (2015-11-16). "A Defining Moment for Heterogeneous Computing".

External links