GPUOpen - GPUOpen

GPUOpen
AMD GPUOpen-Logo, Januar 2016.png
Originalautor(en) moderne Mikrogeräte
Entwickler moderne Mikrogeräte
Erstveröffentlichung 26. Januar 2016 ( 2016-01-26 )
Repository
Geschrieben in C , C++ , GLSL
Betriebssystem Linux , Microsoft Windows
Typ Spieleffektbibliotheken, GPU-Debugging, CPU- und GPU-Profiling
Lizenz MIT-Lizenz
Webseite gpuopen .com

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 „ schwarzFeld " 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

GPUOpen 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

FidelityFX-Komponenten
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.

Standard-FSR-Voreinstellungen
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

Image
AMD Boltzmann Initiative: amdgpu(Linux-Kernel 4.2+) und amdkfd(Linux-Kernel 3.19+)

Software rund um Heterogeneous System Architecture (HSA), General-Purpose Computing auf Graphics Processing Units (GPGPU) und High-Performance Computing (HPC)

Heterogene Systemarchitektur

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

Verweise

Externe Links