GPUOpen - GPUOpen
| Originalautor(en) | moderne Mikrogeräte |
|---|---|
| Entwickler | moderne Mikrogeräte |
| Erstveröffentlichung | 26. Januar 2016 |
| Repository | |
| Geschrieben in | C , C++ , GLSL |
| Betriebssystem | Linux , Microsoft Windows |
| Typ | Spieleffektbibliotheken, GPU-Debugging, CPU- und GPU-Profiling |
| Lizenz | MIT-Lizenz |
| Webseite | gpuopen |
GPUOpen ist eine Middleware- Softwaresuite, die ursprünglich von AMDs Radeon Technologies Group entwickelt wurde und fortschrittliche visuelle Effekte für Computerspiele bietet. Es wurde 2016 veröffentlicht. GPUOpen dient als Alternative und direkter Konkurrent von Nvidia GameWorks . GPUOpen ähnelt GameWorks darin, dass es mehrere verschiedene Grafiktechnologien als Hauptkomponenten umfasst, die zuvor unabhängig und voneinander getrennt waren. GPUOpen ist jedoch vollständig Open-Source-Software , im Gegensatz zu GameWorks, das proprietär und geschlossen ist.
Geschichte
GPUOpen wurde am 15. Dezember 2015 angekündigt und am 26. Januar 2016 veröffentlicht.
Begründung
Nicolas Thibieroz, AMDs Senior Manager of Worldwide Gaming Engineering, argumentiert, dass „es für Entwickler aufgrund der Unterschiede zwischen den beiden Plattformen schwierig sein kann, ihre F&E-Investitionen sowohl auf Konsolen als auch auf PC zu nutzen“ und dass „proprietäre Bibliotheken oder Werkzeugketten mit „ schwarz “ Feld " APIs hindern Entwickler daran, auf den Code zu Wartungs-, Portierungs- oder Optimierungszwecken zuzugreifen". Er sagt, dass kommende Architekturen wie AMDs Rx 400-Serie "viele Funktionen beinhalten, die heute in PC-Grafik-APIs nicht verfügbar sind".
AMD hat GPUOpen als konkurrierenden Open-Source-Middleware-Stack entwickelt, der unter der MIT-Lizenz veröffentlicht wird . Die Bibliotheken sollen die Software-Portabilität zwischen Videospielkonsolen , PCs und auch High-Performance Computing erhöhen .
Komponenten
GPUOpen vereint viele der bisher getrennten Tools und Lösungen von AMD in einem Paket und stellt sie auch vollständig unter der MIT-Lizenz offen. GPUOpen macht es Entwicklern auch einfach, auf Low-Level-GPU-Zugriff zuzugreifen.
Zudem möchte AMD interessierten Entwicklern einen Low-Level-"Direktzugriff" auf ihre GCN- basierten GPUs gewähren , der die Möglichkeiten von Direct3D 12 oder Vulkan übertrifft . AMD erwähnte zB einen Low-Level-Zugriff auf die Asynchronous Compute Engines (ACEs). Die ACE implementieren "Asynchronous Compute", können aber weder unter Vulkan noch unter Direct3D 12 frei konfiguriert werden.
GPUOpen besteht aus mehreren Hauptkomponenten, Tools und SDKs.
Spiele und CGI
Software für computergenerierte Bilder (CGI), die bei der Entwicklung von Computerspielen und Filmen gleichermaßen verwendet werden.
Bibliotheken für visuelle Effekte
| Name | API | Quelle | Beschreibung |
|---|---|---|---|
| TressFX | DirectX 12 , Vulkan | GitHub | Diese Bibliothek für visuelle Effekte ermöglicht die Erstellung von realistischen Haaren, Fellen und Gras. |
| GeometrieFX | DirectX 11 | GitHub | Diese Bibliothek ermöglicht einen einfachen Zugriff auf die rechenbasierte Dreiecksfilterung. |
| DepthOfFieldFX | DirectX 11 | GitHub | Diese Bibliothek gewährt über einen Compute-Shader Zugriff auf eine Tiefenschärfe-Implementierung, die für die GCN-GPU-Architektur optimiert ist . |
| SchattenFX | DirectX 11 , DirectX 12 | GitHub | Diese Bibliothek gewährt Zugriff auf eine Implementierung für verzögerte Schattenfilterung, die für die GCN-GPU-Architektur optimiert ist . |
| TreueFX | DirectX 11 , DirectX 12 , Vulkan | GitHub | FidelityFX ist eine Suite von visuellen Effekten und Effekt-Helfer-Bibliotheken. |
TreueFX
| Name | Algorithmus | Quelle | Beschreibung |
|---|---|---|---|
| FidelityFX CAS | Kontrastadaptives Schärfen | GitHub | Dieser Algorithmus schärft ein Bild oder eine Szene adaptiv und minimiert gleichzeitig Artefakte . |
| FidelityFX CACAO | Kombinierte Adaptive Compute-Umgebungsokklusion | GitHub | Dieser Algorithmus ist eine optimierte Implementierung der adaptiven Sampling-Umgebungsokklusion . |
| FidelityFX LPM | Luminanzerhaltender Mapper | GitHub | Dieser Algorithmus wird verwendet, um die Luma eines RGB-Pixels zu tonen, anstatt die Farbe des Pixels zu tonen. |
| FidelityFX SPD | Single-Pass-Downsampler | GitHub | Dieser für die RDNA-GPU-Architektur optimierte Algorithmus wird verwendet, um 12 MIP- Stufen für eine bestimmte Textur zu generieren . |
| FidelityFX SSSR | Stochastische Bildschirmraumreflexionen | GitHub | Dieser Algorithmus wird verwendet, um einem Bild oder einer Szene Bildschirmraumreflexionen hinzuzufügen . |
| FidelityFX VS | Variable Schattierung | GitHub | Dieser Algorithmus wird verwendet, um eine bildbasierte Schattierung mit variabler Rate unter Verwendung der Luminanz von Abtastwerten im vorherigen Rahmen zu erzeugen . |
| FidelityFX parallele Sortierung | Radix-Sortierung | GitHub | Dieser Algorithmus bietet eine rechenbasierte Radixsortierung . |
| FidelityFX Denoiser | Schatten- und Reflexionsentstörer | GitHub | Dieser Algorithmus liefert Entrauschen für Funktionalität Raytracing- Schatten und Raytracing oder Bildschirm-Raum - Reflexionen. |
| FidelityFX Super Resolution | Räumlicher Upsampler | GitHub | Dieser Algorithmus wird verwendet, um ein Bild oder einen Frame in eine höhere Auflösung hochzurechnen, wobei nur die im Eingabeframe bereitgestellten räumlichen Informationen verwendet werden. |
FidelityFX Super Resolution
FidelityFX Super Resolution (FSR) wird verwendet, um ein Eingabebild in eine höhere Auflösung hochzurechnen. Die von AMD empfohlenen Standard-Presets für FSR finden Sie in der folgenden Tabelle. Beachten Sie, dass diese Voreinstellungen nicht die einzige Möglichkeit sind, den Algorithmus zu verwenden, sondern lediglich Empfehlungen für Eingabe-/Ausgabeauflösungen. Bestimmte Titel, wie Dota 2 , bieten Auflösungsschieberegler zur Feinabstimmung des Skalierungsprozentsatzes.
| Qualitätsvoreinstellung | Skalierungsfaktor | Maßstab rendern |
|---|---|---|
| Ultra-Qualität | 1,30x | 77,0% |
| Qualität | 1,50x | 66,6% |
| Ausgewogen | 1,70x | 58,8% |
| Leistung | 2,00x | 50,0 % |
Werkzeuge
Das offizielle AMD-Verzeichnis listet:
| Name | Quellcode | API | Betriebssystem | Aufgabe |
|---|---|---|---|---|
| CodeXL | CodeXL | Direct3D, OpenGL, OpenCL, Vulkan | Linux- Windows |
Softwareentwicklungstool-Suite, die einen GPU-Debugger, einen GPU-Profiler, einen CPU-Profiler, einen statischen OpenCL-Kernel-Analyzer und verschiedene Plugins umfasst. nicht mehr als AMD-Produkt gebrandmarkt. |
| statischer Analysator für AMD CodeXL | amd-codexl-analyzer | Direct3D, OpenGL, OpenCL | Linux Windows 64bit |
Offline -Compiler- und Leistungsanalyse- CLI- Tool zur Verarbeitung: OpenCL-Kernel, HLSL-Shader und GLSL-Shader als Teil der AMD CodeXL-Tools-Suite Erfordert entweder die Installation von Radeon Software Crimson Edition oder AMD Catalyst , um dieses Tool auszuführen. |
| D3D 12-Plug-in für GPU PerfStudio | amd-gpuperfstudio-dx12 | Direct3D 12 | Fenster | ein Plug-in für GPU PerfStudio GPU perfstudio |
| Dudeln | amd-tools | agnostisch | Linux- Windows |
Tool zur Optimierung der Dreiecksreihenfolge ; ursprünglich 2006 entwickelt; lässt sich einfach als Teil einer Rendering- oder Mesh-Pre-Processing-Toolkette integrieren Vgl. http://mgarland.org/files/papers/quadrics.pdf |
Wurde 2006 von ATI Technologies unter der BSD-Lizenz veröffentlicht? HLSL2GLSL ist nicht Teil von GPUOpen. Ob ähnliche Tools für SPIR-V verfügbar sein werden, bleibt abzuwarten, ebenso wie die offizielle Veröffentlichung der Vulkan (API) selbst. Quellcode, der als Teil von GPUOpen definiert wurde, ist auch Teil des Linux-Kernels (zB amdgpu und amdkfd), Mesa 3D und LLVM.
Softwareentwicklungskits
| Name | Quellcode | API | Betriebssystem | Aufgabe |
|---|---|---|---|---|
| LiquidVR-SDK | LiquidVR | D3D 11 | Fenster | verbessert die Laufruhe der virtuellen Realität . Das Ziel besteht darin, die Latenz zwischen Hardware zu reduzieren, damit die Hardware mit den Kopfbewegungen des Benutzers Schritt halten kann und die Reisekrankheit beseitigt wird. Ein besonderer Fokus liegt auf Dual-GPU-Setups, bei denen jede GPU jetzt für ein Auge einzeln des Displays rendert |
| FireRays-SDK | FireRays_SDK | agnostisch | 64-Bit-Linux, OS X, 64-Bit-Windows | Eine hocheffiziente, hochleistungsfähige heterogene Raytracing- Überschneidungsbibliothek für GPU und CPU oder APU auf jeder Plattform. |
| FireRender-SDK | FireRenderSDK | ? | physikalisch basierte Rendering-Engine | |
| Advanced Media Framework (AMF) | DirectX 12 | Windows 64-Bit | Leichtes, tragbares Multimedia-Framework, das die meisten plattform- und API-spezifischen Details abstrahiert. | |
| True Audio Next (TAN) | OpenCL 3 | Windows 64-Bit | SDK für Radeon GPU-beschleunigte und leistungsstarke Multi-Core-Audiosignalverarbeitung. | |
| RapidFire-SDK | N / A | ? | erleichtert die Verwendung von AMDs Videokompressionsbeschleunigung SIP-Blöcke VCE (H.264-Encoder) und UVD (H.264-Decoder) für „ Cloud-Gaming “/Off-Site-Rendering |
Professioneller Computer
Software rund um Heterogeneous System Architecture (HSA), General-Purpose Computing auf Graphics Processing Units (GPGPU) und High-Performance Computing (HPC)
Heterogene Systemarchitektur
- HSAIL-GDB: bietet eine GNU Debugger- basierte Debugging-Umgebung für HSA Intermediate Layer (HSAIL)
- HSA-Laufzeit-APIs
- Linux amdkfd v1.6.1 Release für Kaveri & Carrizo
Radeon Open Compute (ROCm)
AMDs „Boltzmann Initiative“ (benannt nach Ludwig Boltzmann ) wurde im November 2015 auf der SuperComputing15 angekündigt und als Radeon Open Compute Platform (ROCm) produziert. Es soll eine Alternative zu Nvidias CUDA bieten, das ein Tool zum Portieren des CUDA-Quellcodes in portablen (HIP) -Quellcode enthält, der sowohl auf HCC als auch auf NVCC kompiliert werden kann .
- Radeon Open Compute Kernel (ROCK)-Treiber
- Radeon Open Compute Runtime (ROCR)-Laufzeit
- HCC: Heterogener Compiler
- HIP: C++ Heterogeneous-Computing-Schnittstelle für Portabilität
Verschieden
- clFFT-Bibliothek für Fast Fourier-Transformation, geschrieben in OpenCL
- hcFFT-Bibliothek für Fast Fourier-Transformation, geschrieben in HCC-optimiertem C++
Verfügbarkeit
GPUOpen sind ab dem 26. Januar 2016 unter der MIT-Lizenz für die breite Öffentlichkeit über GitHub verfügbar .
Es gibt Verzahnungen zwischen GPUOpen und etablierten und weit verbreiteten freien Softwareprojekten, zB Linux-Kernel , Mesa 3D und LLVM .
Siehe auch
- AMD-CodeXL
- Mantel (API)
- Vulkan (API)
- Liste der Spiele mit Unterstützung für High-Fidelity-Bild-Upscaling