跳转到内容

GPUOpen

本页使用了标题或全文手工转换
维基百科,自由的百科全书
GPUOpen
Image
原作者AMD
開發者AMD
首次发布2016年1月26日 (2016-01-26)[1]
源代码库 編輯維基數據鏈接
编程语言C语言, C++, GLSL
操作系统Linux, Microsoft Windows
类型游戏特效组件库, GPU 调试, CPU & GPU 优化
许可协议MIT許可證
网站gpuopen.com

GPUOpen是一套中间件,由AMD Radeon 开发,发布于2016年。GPUOpen的主要竞争对手是Nvidia GameWorks。与 GameWorks 相似,GPUOpen是多种独立技术的整合包。 [2]GPUOpen 是部分开源的。

历史

[编辑]

GPUOpen于2015 年 12 月 15 日公示[2][3] [4] [5] [6] ,并于 2016 年 1 月 26 日发布。

AMD 将独立的工具整合起来,以统一的软件包GPUOpen发布,并以 MIT 许可证完全开源。 [4] GPUOpen 赋予开发人员更底层的 GPU 控制权限。 [7]

此外,AMD希望开发者能与GCN架构GPU的底层“直接交互”,赋予超越Direct3D 12Vulkan的能力。例如,作为GPUOpen的组件之一,异步计算引擎(ACE)实现了真正的“异步计算”。

GPUOpen 由多个组件、工具和 SDK 组成。 [2]

游戏和CGI

[编辑]

GPUOpen有计算机生成图像(CGI) ,广泛应用于计算机游戏和电影的开发。

视觉特效库

[编辑]
GPUOpen 视觉特效库[8]
姓名 API 来源 描述
TressFX DirectX 12Vulkan GitHub 主要处理诸如毛发,草地等材质
GeometryFX DirectX 11 GitHub 提供三角滤波器等
DepthOfFieldFX DirectX 11 GitHub 通过计算着色器提供对针对GCN GPU 架构优化的景深实现。
ShadowFX DirectX 11DirectX 12 GitHub 提供了一个针对GCN GPU 架构优化的延迟阴影过滤实现。
FidelityFX DirectX 11DirectX 12Vulkan GitHub 一套视觉特效辅助库

FidelityFX

[编辑]
FidelityFX 组件[9]
姓名 算法 来源 描述
FidelityFX CAS 对比度自适应锐化 GitHub 该算法能够自适应地锐化图像或场景,同时最大限度地减少伪影。
FidelityFX CACAO 组合自适应计算环境光遮蔽 GitHub 该算法是自适应环境光遮蔽算法的优化实现。
FidelityFX LPM 亮度保持映射器 GitHub 该算法用于对 RGB 像素的亮度进行色调映射,而不是对像素的颜色进行色调映射。
FidelityFX SPD 单次降采样器 GitHub 该算法针对RDNA GPU 架构进行了优化,用于为给定的纹理生成 12 个MIP级别。
FidelityFX SSSR 随机屏幕空间反射 GitHub 该算法用于向帧或场景添加屏幕空间反射
FidelityFX 对比 可变阴影 GitHub 该算法利用前一帧中样本的亮度来生成基于图像的可变速率着色。
FidelityFX 并行排序 基数排序 GitHub 该算法提供了一种基于计算的基数排序方法
FidelityFX 降噪器 阴影和反射降噪器 GitHub 该算法为光线追踪阴影和光线追踪或屏幕空间反射提供降噪功能。
FidelityFX 超分辨率 1 空间上采样器 GitHub 该算法仅使用输入帧中提供的空间信息,将图像或帧上采样到更高的分辨率。
FidelityFX 超分辨率 2 时间放大器 GitHub 该算法利用输入帧提供的时间信息,将帧放大到更高的分辨率。

FidelityFX 超分辨率

[编辑]

FidelityFX 超分辨率(FSR)用于将输入图像上采样到更高的分辨率。FSR 有多个版本,它们采用不同的放大技术,提供不同的图像质量。

  • FSR 1 是一种空间超分辨率技术,其原理与Lanczos 算法类似,需要输入经过抗锯齿处理的低分辨率图像。该技术首先进行边缘重建和梯度反转处理,随后再通过一个对比度自适应的锐化步骤(RCAS)来恢复画面细节,让最终成像更加清晰。AMD 官方说明如下:

    FSR 主要包含两个核心处理阶段:

    • 第一阶段是名为EASU(边缘自适应空间上采样)的上超分处理,同时负责边缘重建。算法会分析输入帧,通过检测相邻像素之间的梯度变化(即"梯度反转"现象)来判断边缘特征,并依据梯度反转的强度计算权重,从而决定如何在目标分辨率下重建每个像素。
    • 第二阶段是名为RCAS(鲁棒对比度自适应锐化)的锐化处理,专门用于提取并增强上采样后图像中的细节信息,让画面看起来更锐利、更自然。[10]
  • FSR 2 是一种时域超分辨率技术,基于改进的Lanczos 算法,需要输入未经抗锯齿处理的低分辨率图像,它充分利用时序数据(如运动矢量和帧历史)来重建画面。在此基础上,FSR 2 还会执行自带的抗锯齿处理步骤,直接替代游戏原本的内置抗锯齿方案,从而在提升分辨率的同时有效抑制画面锯齿和闪烁。
  • FSR 3 新增了帧生成技术和"原生抗锯齿"功能。帧生成能够有效提升游戏的感知帧率,让画面运行更加流畅。而"原生抗锯齿"功能与 Nvidia 的 DLAA 类似,可以在不进行超分辨率上采样的前提下单独使用,以提供更出色的抗锯齿效果;该功能还可以与帧生成以及 Anti-Lag+ 技术组合使用,进一步优化游戏体验。[11][12]

下表列出了 AMD 的 FSR 标准预设值。请注意,这些预设值并不一定是实际效果,它们只是输入/输出分辨率的预设值。某些游戏,例如Dota 2 ,提供了分辨率滑块,可以微调缩放百分比或根据帧率上限动态调整内部渲染分辨率。AMD 还提供了一个命令行界面工具,允许用户使用 FSR1/EASU 以及其他升频方法(例如双线性插值)来放大任何图像。它还允许用户独立运行 FSR 管线的各个阶段,例如 RCAS。 [13]

发布历史
版本号 发布日期 精彩片段
1.0 / 1.0.1 2021年6月 FidelityFX 超分辨率 (FSR) 于 2021 年 7 月发布,源代码可供查阅。 [14] [15]
1.0.2 2021年11月 修复 RCAS 过度锐化。 [16]
1.1 2023年7月 现在可通过 FidelityFX SDK 获取。 [17]
2.0.1 / 2.0.1a 2022年3月 FidelityFX Super Resolution 2.0 (FSR 2) 于 2022 年 6 月发布,源代码也于 2022 年 6 月提供。 [18] [19]
2.1.0 2022年9月 减少了重影并提高了放大质量。 《模拟农场2022》是最早一批采用1.7.1补丁的游戏之一。 [20]
2.1.1 2022年9月 [21]
2.1.2 2022年10月 [22]
2.2.0 / 2.2.0a 2022年11月 HDR范围改进,重影和闪烁伪影减少。源代码于2023年2月发布。 [23]
2.2.1 2023年6月 [24]
2.2.2 2023年7月 包含在 FidelityFX SDK 中。 [17] [25]
3.0 / 3.0.3 2023年9月 FSR 3 结合了 FSR 2 的帧生成功能和 Anti-Lag+ 技术,并支持 AMD、Nvidia 和 Intel 的 GPU。FSR 3 也兼容第九代游戏主机[11]

源代码于 2023 年 12 月作为 FidelityFX SDK 的一部分提供。 [26]
3.0.4 2024年3月 [27]
3.1.0 2024年6月 减少了重影、闪烁和抖动,提高了时间稳定性。将帧生成与放大分离。使源文件易于开发者升级。支持 Vulkan 和 Xbox 游戏开发工具包 (GDK)。源代码将于 2024 年 7 月作为 FidelityFX SDK 1.1 的一部分提供。 [28]
标准 FSR 预设[29] [30] [31]
质量预设 比例因子 渲染比例
原生AA(v3.0+) 1.00倍 100%
超高清画质(仅限 v1.0) 1.30倍 77.0%
质量 1.50倍 66.6%
均衡 1.70倍 58.8%
表现 2.00倍 50.0%
超高性能(v2.0+) 3.00倍 33.3%

通过将 DLSS DLL 替换为将 DLSS API 调用映射到 FSR 2 API 调用的转译层 DLL,可以将 FSR 2 集成到几乎所有支持 DLSS 的游戏中。 [32]

帧生成

[编辑]

FSR 3 新增了帧生成功能,这项技术利用运动插值在现有帧之间创建新帧。FSR 3 于 2023 年 9 月发布,它结合了 FSR 2 和光流分析技术,采用异步计算(与使用专有硬件的 Nvidia DLSS 3 不同)。由于 FSR 3 采用软件解决方案,因此兼容 AMD、Nvidia 和 Intel 的 GPU 以及第九代游戏主机。同时,AMD 了一项名为 Anti-Lag 的驱动程序级功能,以应对帧生成的额外延迟,该功能仅适用于 AMD GPU。 [11]

AMD 流体运动帧 (AFMF) 是一项驱动程序级别的帧生成技术,于 2024 年第一季度发布,它兼容所有 DirectX 11 和 DirectX 12 游戏,但仅适用于 RDNA 2 和 RDNA 3 GPU。AFMF 使用光流分析而非运动矢量,因此只能在两个传统渲染帧之间插值生成新帧。AFMF 目前与垂直同步 (VSYNC) 不兼容。 [11]

工具

[编辑]

AMD官方目录列表如下: [33]

姓名 源代码 API 操作系统 任务
CodeXL CodeXL Direct3D、OpenGL、OpenCL、 Vulkan Linux、
Windows
软件开发工具套件,包括 GPU 调试器、GPU 分析器、CPU 分析器、静态 OpenCL 内核分析器和各种插件。 [34]
AMD CodeXL静态分析器 amd-codexl-analyzer Direct3D、OpenGL、OpenCL Linux、
Windows x64
用于处理 OpenCL 内核、 HLSL 着色器GLSL 着色器的离线编译器和性能分析CLI工具



AMD CodeXL 工具套件的一部分



运行此工具需要安装Radeon Software Crimson Edition 或AMD Catalyst 。 [35]
D3D 12 GPU ProfStudio amd-gpuperfstudio-dx12 Direct3D 12 Windows GPU PerfStudio的插件 GPU perfstudio [36]
Tootle amd-tootle agnostic Linux、
Windows
三角形顺序优化工具;最初开发于 2006 年;可以轻松集成到渲染或网格预处理工具链中[37]参见http://mgarland.org/files/papers/quadrics.pdf

HLSL2GLSL由 ATI Technologies 于 2006 年以 BSD 许可证发布,因此不属于 GPUOpen 的一部分。GPUOpen 一部分的源代码也包含在 Linux 内核(例如 amdgpu 和 amdkfd [38] )、Mesa 3D 和 LLVM 中。

软件开发工具包

[编辑]
姓名 来源 API 操作系统 任务
高级媒体框架(AMF) SDK GitHub DirectX 12 Linux、Windows x64 轻量级、可移植的多媒体框架,它抽象化了大部分平台和 API 特定的细节。
AMD GPU 服务 (AGS) SDK GitHub DirectX Windows x64
LiquidVR SDK GitHub Direct3D 11 Windows 提升虚拟现实的流畅度。 [39]其目标是降低硬件间的延迟,使硬件计算能力能够跟上用户的头部运动,从而消除晕动症。核心是双GPU配置,其中每个GPU将分别渲染显示器上每只眼睛的画面。
Radeon 机器学习 (RML) SDK GitHub DirectX 12MetalOpenCL Linux、OS X、Windows
Radeon ProRender SDK (原名 FireRender) GitHub OpenCL Linux、macOS、Windows 基于物理的渲染引擎
RadeonRays SDK (原名 FireRays) GitHub DirectX 12Vulkan Linux x64、OS X、Windows x64 适用于任何平台上的 GPU 和 CPU 或 APU 的高效、高性能异构光线追踪交加速库。
RapidFire SDK GitHub DirectXOpenGL Windows 支持使用 AMD 的视频压缩加速 SIP 模块VCE (H.264 编码器)和UVD (H.264 解码器)进行“云游戏”/异地渲染
True Audio Next (TAN) SDK GitHub OpenCL Windows x64 用于 Radeon GPU 加速和多核高性能音频信号处理的 SDK。

专业计算

[编辑]

截至 2022 年,AMD 计算软件生态系统已在ROCm元项目下重新整合。

异构系统架构(HSA)、图形处理单元通用计算(GPGPU) 和高性能计算(HPC) 的软件::

Radeon Open Compute (ROCm)

[编辑]

AMD 的“玻尔兹曼计划”(以路德维希·玻尔兹曼的名字命名)于 2015 年 11 月在 SuperComputing15 大会上发布[40] [41] [42] [43] [44] ,后更名 Radeon 开放计算平台 (ROCm)。作为英伟达CUDA的替代方案,ROCm包括一个将 CUDA 源代码移植到可移植 (HIP) 源代码的工具,使其可以同时在 HCC 和NVCC上编译。

  • Radeon Open Compute Kernel (ROCK) 驱动程序
  • Radeon Open Compute Runtime (ROCR) 运行时
  • HCC:异构计算编译器
  • HIP:C++异构计算接口(用于可移植性)

异构系统架构

[编辑]
  • HSAIL-GDB:为HSA 中间层(HSAIL) 提供基于GNU 调试器的调试环境。
  • HSA运行时API
  • Linux amdkfd v1.6.1 版本发布,适用于 Kaveri 和 Carrizo

其他工具(已弃用)

[编辑]
  • clFFT 库,用于快速傅里叶变换,用 OpenCL 编写
  • 用于快速傅里叶变换的 hcFFT 库,用 HCC 优化的 C++ 编写。

可用性

[编辑]

GPUOpen 与一些成熟且广泛应用的自由软件项目(如Linux 内核Mesa 3DLLVM)之间存在着关联。

参见

[编辑]

参考

[编辑]
  1. ^ AMD: GPUOpen. Welcome to GPUOpen. 2016-01-26. (原始内容存档于2016-03-05). 
  2. ^ 2.0 2.1 2.2 AMD GPUOpen: Doubling Down On Open-Source Development. Tom's Hardware. 2015-12-15 [2016-01-24]. 
  3. ^ Maximum PC. AMD Radeon Technologies Group Summit: GPUOpen and Software. 2015-12-15 [2016-01-24]. 
  4. ^ 4.0 4.1 AnandTech. AMD's GPUOpen bundle of developer tools in 2016. 2015-12-15 [2016-01-24]. (原始内容存档于December 17, 2015). 
  5. ^ AMDs Open-Source-Initiative GPUOpen: Direkte GPU-Kontrolle und bessere Treiber. 2015-12-16 (德语). 
  6. ^ PC Games Hardware德语PC Games Hardware. AMD GPU Open: Radeon-Software wird bald zu 100 % Open-Source. PC Games Hardware. 2015-12-16 (德语). 
  7. ^ HotHardware. AMD Goes Open Source, Announces GPUOpen Initiative, New Compiler And Drivers For Linux And HPC. 2015-12-15 [2016-01-24]. 
  8. ^ GPUOpen Effects. GitHub. 
  9. ^ FidelityFX. GitHub. 20 October 2021. 
  10. ^ AMD FidelityFX™ Super Resolution 1 (FSR 1). AMD GPUOpen. [2024-05-25] (英语). 
  11. ^ 11.0 11.1 11.2 11.3 AMD reveals long-awaited FSR 3 tech and frame gen for every DX11/DX12 game. EuroGamer. 25 August 2023 [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. 
  12. ^ AMD claims there's nothing stopping Starfield from adding Nvidia DLSS. The Verge. 24 August 2023 [6 September 2023]. 
  13. ^ GPUOpen-Effects/FidelityFX-CLI, GPUOpen Effects, 2024-05-21 [2024-05-25] 
  14. ^ AMD FidelityFX Super Resolution is coming soon to GPUOpen - AMD GPUOpen. AMD GPUOpen. June 1, 2021 [March 21, 2023] (英国英语). 
  15. ^ FidelityFX Super Resolution (FSR) source code is here, along with Unity and UE4 support too! - AMD GPUOpen. AMD GPUOpen. July 15, 2021 [March 21, 2023] (英国英语). 
  16. ^ Sommefeldt, Rys. Release FidelityFX FSR v1.0.2 · GPUOpen-Effects/FidelityFX-FSR · GitHub. GitHub. November 16, 2021 [March 23, 2023]. 
  17. ^ 17.0 17.1 The AMD FidelityFX SDK 1.0 is now available on GPUOpen - AMD GPUOpen. AMD GPUOpen. July 11, 2023 [September 11, 2023] (英国英语). 
  18. ^ It's time for AMD FidelityFX Super Resolution 2.0 - AMD GPUOpen. AMD GPUOpen. March 17, 2022 [March 23, 2023] (英国英语). 
  19. ^ It's time to see the FSR 2 source code! - AMD GPUOpen. AMD GPUOpen. June 22, 2022 [March 23, 2023] (英国英语). 
  20. ^ It's time to upscale FSR 2 even further: Meet FSR 2.1! - AMD GPUOpen. AMD GPUOpen. September 8, 2022 [March 23, 2023] (英国英语). 
  21. ^ Sommefeldt, Rys. Release FidelityFX FSR2 v2.1.1 · GPUOpen-Effects/FidelityFX-FSR2 · GitHub. GitHub. September 15, 2022 [March 23, 2023]. 
  22. ^ Sommefeldt, Rys. Release FidelityFX FSR2 v2.1.2 · GPUOpen-Effects/FidelityFX-FSR2 · GitHub. GitHub. October 19, 2022 [March 23, 2023]. 
  23. ^ 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 [March 23, 2023] (英国英语). 
  24. ^ AMD FidelityFX Super Resolution 2.2.1 hotfix! - AMD GPUOpen. AMD GPUOpen. June 9, 2023 [June 14, 2023] (英国英语). 
  25. ^ FidelityFX Super Resolution 2.2.2 (FSR2) - FidelityFX SDK - AMD GPUOpen. AMD GPUOpen. [September 11, 2023] (英国英语). 
  26. ^ 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 [March 22, 2024]. 
  27. ^ Sommefeldt, Rys. Release FidelityFX SDK for FSR3 v3.0.4 · GPUOpen-LibrariesAndSDKs/FidelityFX-SDK · GitHub. GitHub. December 14, 2023 [March 22, 2024]. 
  28. ^ AMD FSR 3.1 Now Available, FSR 3 Available and Upcoming in 60 Games. June 27, 2024. 
  29. ^ Walker, Alex. AMD's FSR Only Supports 7 Games, But It's Already Super Promising. Kotaku Australia. June 23, 2021 [July 11, 2021]. (原始内容存档于June 23, 2021) (澳大利亚英语). 
  30. ^ Mujtaba, Hassan. AMD Details FSR 2.0: NVIDIA GeForce 10 & Up Support, High-Quality Upscaling Without Machine Learning, More Quality Modes. Wccftech. March 23, 2022 [March 24, 2022] (美国英语). 
  31. ^ Schiesser, Tim. AMD FSR 3 Frame Generation Analyzed. TechSpot. October 11, 2023 [October 5, 2024]. 
  32. ^ Sims, Daniel. Unofficial FSR 2.0 mod arrives to several more games including Dying Light 2, RDR 2 and Death Stranding. TechSpot. July 5, 2022 (美国英语). 
  33. ^ GPUOpen Libraries & SDKS. GitHub. 
  34. ^ AMD GPUOpen. CodeXL 2.0 made open-source. 2016-04-19 [2016-04-21]. (原始内容存档于2018-06-27). 
  35. ^ AMD GPUOpen. CodeXL Static Analyzer CLI. 2016-01-26 [2016-01-27]. (原始内容存档于2019-01-09). 
  36. ^ AMD GPUOpen. Create Your own GPU PerfStudio Direct3D 12 Plugin. 2016-01-26 [2016-01-27]. (原始内容存档于2019-01-09). 
  37. ^ AMD GPUOpen. Have You Tootled Your 3D Models?. 2016-01-26 [2016-01-27]. (原始内容存档于2019-01-09). 
  38. ^ Linux kernel 4.2 /drivers/gpu/drm/amd. 
  39. ^ Heinz Heise. LiquidVR: Neues Virtual-Reality-SDK von AMD. 2015-03-04 (德语). 
  40. ^ AnandTech. AMD@SC15: Boltzmann Initiative Announced - C++ and CUDA Compilers for AMD GPUs. 2015-11-16. (原始内容存档于November 17, 2015). 
  41. ^ Heinz Heise. Supercomputer: AMD startet Software-Offensive "Boltzmann". 2015-11-17 (德语). 
  42. ^ AMDs Boltzmann-Initiative geht direkt gegen nVidias CUDA. 3dcenter.org. 2015-11-16 (德语). 
  43. ^ AMD. AMD Launches 'Boltzmann Initiative'. 2015-11-16. 
  44. ^ AMD. A Defining Moment for Heterogeneous Computing. 2015-11-16. 

外部链接

[编辑]