GPUOpen
| 原作者 | AMD |
|---|---|
| 開發者 | AMD |
| 首次发布 | 2016年1月26日[1] |
| 源代码库 | |
| 编程语言 | C语言, C++, GLSL |
| 操作系统 | Linux, Microsoft Windows |
| 类型 | 游戏特效组件库, GPU 调试, CPU & GPU 优化 |
| 许可协议 | MIT許可證 |
| 网站 | gpuopen |
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 12与Vulkan的能力。例如,作为GPUOpen的组件之一,异步计算引擎(ACE)实现了真正的“异步计算”。
GPUOpen 由多个组件、工具和 SDK 组成。 [2]
游戏和CGI
[编辑]GPUOpen有计算机生成图像(CGI) ,广泛应用于计算机游戏和电影的开发。
视觉特效库
[编辑]| 姓名 | API | 来源 | 描述 |
|---|---|---|---|
| TressFX | DirectX 12 、 Vulkan | GitHub | 主要处理诸如毛发,草地等材质 |
| GeometryFX | DirectX 11 | GitHub | 提供三角滤波器等 |
| DepthOfFieldFX | DirectX 11 | GitHub | 通过计算着色器提供对针对GCN GPU 架构优化的景深实现。 |
| ShadowFX | DirectX 11 、 DirectX 12 | GitHub | 提供了一个针对GCN GPU 架构优化的延迟阴影过滤实现。 |
| FidelityFX | DirectX 11 、 DirectX 12 、 Vulkan | GitHub | 一套视觉特效辅助库 |
FidelityFX
[编辑]| 姓名 | 算法 | 来源 | 描述 |
|---|---|---|---|
| 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] |
| 质量预设 | 比例因子 | 渲染比例 |
|---|---|---|
| 原生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 12 、 Metal 、 OpenCL | Linux、OS X、Windows | |
| Radeon ProRender SDK (原名 FireRender) | GitHub | OpenCL | Linux、macOS、Windows | 基于物理的渲染引擎 |
| RadeonRays SDK (原名 FireRays) | GitHub | DirectX 12 , Vulkan | Linux x64、OS X、Windows x64 | 适用于任何平台上的 GPU 和 CPU 或 APU 的高效、高性能异构光线追踪交加速库。 |
| RapidFire SDK | GitHub | DirectX 、 OpenGL | 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 3D和LLVM)之间存在着关联。
参见
[编辑]参考
[编辑]- ^ AMD: GPUOpen. Welcome to GPUOpen. 2016-01-26. (原始内容存档于2016-03-05).
- ^ 2.0 2.1 2.2 AMD GPUOpen: Doubling Down On Open-Source Development. Tom's Hardware. 2015-12-15 [2016-01-24].
- ^ Maximum PC. AMD Radeon Technologies Group Summit: GPUOpen and Software. 2015-12-15 [2016-01-24].
- ^ 4.0 4.1 AnandTech. AMD's GPUOpen bundle of developer tools in 2016. 2015-12-15 [2016-01-24]. (原始内容存档于December 17, 2015).
- ^ AMDs Open-Source-Initiative GPUOpen: Direkte GPU-Kontrolle und bessere Treiber. 2015-12-16 (德语).
- ^ PC Games Hardware. AMD GPU Open: Radeon-Software wird bald zu 100 % Open-Source. PC Games Hardware. 2015-12-16 (德语).
- ^ HotHardware. AMD Goes Open Source, Announces GPUOpen Initiative, New Compiler And Drivers For Linux And HPC. 2015-12-15 [2016-01-24].
- ^ GPUOpen Effects. GitHub.
- ^ FidelityFX. GitHub. 20 October 2021.
- ^ AMD FidelityFX™ Super Resolution 1 (FSR 1). AMD GPUOpen. [2024-05-25] (英语).
- ^ 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.
- ^ AMD claims there's nothing stopping Starfield from adding Nvidia DLSS. The Verge. 24 August 2023 [6 September 2023].
- ^ GPUOpen-Effects/FidelityFX-CLI, GPUOpen Effects, 2024-05-21 [2024-05-25]
- ^ AMD FidelityFX Super Resolution is coming soon to GPUOpen - AMD GPUOpen. AMD GPUOpen. June 1, 2021 [March 21, 2023] (英国英语).
- ^ 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] (英国英语).
- ^ Sommefeldt, Rys. Release FidelityFX FSR v1.0.2 · GPUOpen-Effects/FidelityFX-FSR · GitHub. GitHub. November 16, 2021 [March 23, 2023].
- ^ 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] (英国英语).
- ^ It's time for AMD FidelityFX Super Resolution 2.0 - AMD GPUOpen. AMD GPUOpen. March 17, 2022 [March 23, 2023] (英国英语).
- ^ It's time to see the FSR 2 source code! - AMD GPUOpen. AMD GPUOpen. June 22, 2022 [March 23, 2023] (英国英语).
- ^ It's time to upscale FSR 2 even further: Meet FSR 2.1! - AMD GPUOpen. AMD GPUOpen. September 8, 2022 [March 23, 2023] (英国英语).
- ^ Sommefeldt, Rys. Release FidelityFX FSR2 v2.1.1 · GPUOpen-Effects/FidelityFX-FSR2 · GitHub. GitHub. September 15, 2022 [March 23, 2023].
- ^ Sommefeldt, Rys. Release FidelityFX FSR2 v2.1.2 · GPUOpen-Effects/FidelityFX-FSR2 · GitHub. GitHub. October 19, 2022 [March 23, 2023].
- ^ 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] (英国英语).
- ^ AMD FidelityFX Super Resolution 2.2.1 hotfix! - AMD GPUOpen. AMD GPUOpen. June 9, 2023 [June 14, 2023] (英国英语).
- ^ FidelityFX Super Resolution 2.2.2 (FSR2) - FidelityFX SDK - AMD GPUOpen. AMD GPUOpen. [September 11, 2023] (英国英语).
- ^ 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].
- ^ Sommefeldt, Rys. Release FidelityFX SDK for FSR3 v3.0.4 · GPUOpen-LibrariesAndSDKs/FidelityFX-SDK · GitHub. GitHub. December 14, 2023 [March 22, 2024].
- ^ AMD FSR 3.1 Now Available, FSR 3 Available and Upcoming in 60 Games. June 27, 2024.
- ^ 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) (澳大利亚英语).
- ^ 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] (美国英语).
- ^ Schiesser, Tim. AMD FSR 3 Frame Generation Analyzed. TechSpot. October 11, 2023 [October 5, 2024].
- ^ 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 (美国英语).
- ^ GPUOpen Libraries & SDKS. GitHub.
- ^ AMD GPUOpen. CodeXL 2.0 made open-source. 2016-04-19 [2016-04-21]. (原始内容存档于2018-06-27).
- ^ AMD GPUOpen. CodeXL Static Analyzer CLI. 2016-01-26 [2016-01-27]. (原始内容存档于2019-01-09).
- ^ AMD GPUOpen. Create Your own GPU PerfStudio Direct3D 12 Plugin. 2016-01-26 [2016-01-27]. (原始内容存档于2019-01-09).
- ^ AMD GPUOpen. Have You Tootled Your 3D Models?. 2016-01-26 [2016-01-27]. (原始内容存档于2019-01-09).
- ^ Linux kernel 4.2 /drivers/gpu/drm/amd.
- ^ Heinz Heise. LiquidVR: Neues Virtual-Reality-SDK von AMD. 2015-03-04 (德语).
- ^ AnandTech. AMD@SC15: Boltzmann Initiative Announced - C++ and CUDA Compilers for AMD GPUs. 2015-11-16. (原始内容存档于November 17, 2015).
- ^ Heinz Heise. Supercomputer: AMD startet Software-Offensive "Boltzmann". 2015-11-17 (德语).
- ^ AMDs Boltzmann-Initiative geht direkt gegen nVidias CUDA. 3dcenter.org. 2015-11-16 (德语).
- ^ AMD. AMD Launches 'Boltzmann Initiative'. 2015-11-16.
- ^ AMD. A Defining Moment for Heterogeneous Computing. 2015-11-16.
外部链接
[编辑]- 官方网站
- List of games that support high-fidelity upscaling - 支持相关技术的游戏列表