GPUOpen

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

Gpuopen ist ein Middleware Software Suite Ursprünglich entwickelt von AMD's Radeon Technologies Group, die erweiterte visuelle Effekte für Computerspiele bietet. Es wurde 2016 veröffentlicht. GPUOPEN dient als Alternative zu und direkter Konkurrent von Nvidia Gameworks. GPUOPEN ähnelt GameWorks, da es mehrere verschiedene Grafiktechnologien als Hauptkomponenten umfasst, die zuvor unabhängig und voneinander getrennt waren.[2] GPUOPEN ist jedoch völlig Quelloffene SoftwareIm Gegensatz zu GameWorks, die proprietär und geschlossen sind.

Geschichte

GPUOPEN wurde am 15. Dezember 2015 bekannt gegeben.[3][4][2][5][6] und am 26. Januar 2016 veröffentlicht.

Begründung

Nicolas Thibieroz, Senior Manager von AMD von Worldwide Gaming Engineering, argumentiert, dass "es für Entwickler schwierig sein kann, ihre F & E -Investitionen sowohl auf Konsolen als auch auf PC aufgrund der Unterschiede zwischen den beiden Plattformen zu nutzen" und "proprietäre Bibliotheken oder Tools -Ketten mit" mit Ketten mit Ketten oder WerkzeugenFlugschreiber"APIs verhindern Entwickler daran, auf den Code für Wartung, Portierung oder Optimierungen zugreifen zu können."[7] Er sagt, dass bevorstehende Architekturen wie z. AMDs RX 400 -Serie "Fügen Sie viele Funktionen, die heute nicht in PC -Grafik -APIs ausgesetzt sind" ein.

AMD hat GPUOPEN als konkurrierende Open-Source-Middleware-Stack unter dem veröffentlicht MIT -Lizenz. Die Bibliotheken sollen zunehmen Software -Portabilität zwischen Videospielkonsolen, PCs und auch High Performance Computing.[8]

Komponenten

GPUOPEN vereint viele der zuvor getrennten Tools und Lösungen von AMD in ein Paket, was sie auch unter der MIT-Lizenz vollständig offen macht.[4] GPUOPEN erleichtert Entwicklern auch einfach, einen GPU-Zugriff auf niedrigem Niveau zu erhalten.[9]

Zusätzlich möchte AMD interessierten Entwicklern die Art von niedrigem "direktem Zugang" auf ihre Gcn-basierten GPUs, das die Möglichkeiten von übertrifft Direct3d 12 oder Vulkan. AMD erwähnt, z. Ein Zugang auf niedriger Ebene zum Asynchrone Berechnung Motoren (Asse). Das ACE implementiert "Asynchronen Computer", aber sie weder unter Vulkan noch unter Direct3d 12 konfiguriert werden können.

GPUOPEN besteht aus mehreren Hauptkomponenten, Werkzeugen und SDKs.[2]

Spiele und CGI

Software für Computer generiertes Bild (CGI) verwendet bei der Entwicklung von Computerspielen und Filmen gleichermaßen.

Bibliotheken visueller Effekte

GPUOPEN visuelle Effektbibliotheken[10]
Name API Quelle Beschreibung
Tressfx DirectX 12, Vulkan GitHub Diese Bibliothek für visuelle Effekte ermöglicht die Schaffung von realistischem Haar, Fell und Gras.
Geometryfx DirectX 11 GitHub Diese Bibliothek ermöglicht einen einfachen Zugriff auf rechenbasierte Dreiecksfilterung.
TEATTHOFFIELDFX DirectX 11 GitHub Diese Bibliothek gewährt den Zugang zu einer Tiefe der Feldimplementierung, die für die optimiert ist GCN GPU -Architektur über einen Computer Shader.
Shadowfx DirectX 11, DirectX 12 GitHub Diese Bibliothek gewährt Zugang zu einer Implementierung für aufgeschobene Schattenfilterung, die für die optimiert ist GCN GPU -Architektur.
Fidelityfx DirectX 11, DirectX 12, Vulkan GitHub Fidelityfx ist eine Reihe von visuellen Effekten und Effekt-Helfer-Bibliotheken.

Fidelityfx

FidelityFX -Komponenten[11]
Name Algorithmus Quelle Beschreibung
Fidelityfx cas Kontrast adaptives Schärfen GitHub Dieser Algorithmus schärft ein Bild oder eine Szene anpassend und minimiert gleichzeitig Artefakte.
Fidelityfx cacao Kombinierte adaptive Berechnung Umgebungsverschluss GitHub Dieser Algorithmus ist eine optimierte Implementierung von Adaptive Probenahme Umgebungsverschluss.
Fidelityfx lpm Luminance -Erhaltungsmapper GitHub Dieser Algorithmus wird verwendet Tonkarte Das Luma eines RGB -Pixels, anstatt die Farbe des Pixels zu kartieren.
Fidelityfx spd Single -Pass -Downsampler GitHub Dieser Algorithmus, optimiert für die RDNA GPU Architektur, wird verwendet, um 12 zu erzeugen MIP Ebenen für eine bestimmte Textur.
Fidelityfx SSSR Stochastische Bildschirmraumreflexionen GitHub Dieser Algorithmus wird verwendet, um hinzuzufügen Reflexionen des Bildschirmraums zu einem Rahmen oder einer Szene.
Fidelityfx vs Variable Schattierung GitHub Dieser Algorithmus wird verwendet, um eine bildbasierte variable Ratenschattierung mithilfe der zu generieren Luminanz von Proben im vorherigen Frame.
Fidelityfx parallele Sortierung Radix -Sortierung GitHub Dieser Algorithmus liefert eine rechenbasierte Basis Radix -Sortierung.
Fidelityfx -Denoiser Denoiser Schatten & Reflexion GitHub Dieser Algorithmus bietet Denoising Funktionalität für Strahlung Schatten und Ray-Traced- oder Screen-Raum-Reflexionen.
Fidelityfx Super -Auflösung Räumlicher Upsampler GitHub Dieser Algorithmus wird verwendet, um ein Bild oder einen Rahmen in eine höhere Auflösung zu belasten, indem nur die im Eingangsrahmen bereitgestellten Rauminformationen verwendet werden.

Fidelityfx Super -Auflösung

Fidelityfx Super Resolution (FSR) wird verwendet, um ein Eingabebild in eine höhere Auflösung zu belasten. Die von AMD empfohlenen Standardvoreinstellungen für FSR finden Sie in der folgenden Tabelle. Beachten Sie, dass diese Voreinstellungen nicht die einzige Möglichkeit sind, in der der Algorithmus verwendet werden kann, sondern einfach Empfehlungen für Eingangs-/Ausgangsauflösungen. Bestimmte Titel, wie z. Dota 2 haben Auflösungsschieberschaften angeboten, um den Skalierungsprozentsatz einzustellen.

Standard -FSR -Voreinstellungen[12][13]
Qualitätsvoreinstellung[a] Skalierungsfaktor[b] Renderskala[c]
Ultra -Qualitätnur v1.0 1.30x 77,0%
Qualität 1,50x 66,6%
Ausgewogen 1.70x 58,8%
Leistung 2.00x 50,0%
Ultra -LeistungSeit v2.0 3.00x 33,3%
  1. ^ Der Algorithmus muss nicht unbedingt mit diesen Voreinstellungen implementiert werden. Es ist dem Implementierer möglich, benutzerdefinierte Eingabe- und Ausgabeauflösungen zu definieren.
  2. ^ Der lineare Skalierungsfaktor, der für die Auflösung der Eingangsauflösung zur Ausgangsauflösung verwendet wird. Beispielsweise würde eine Szene, die bei 540p mit einem 2,00 -fachen Skalierungsfaktor gerendert wurde, eine Ausgangsauflösung von 1080p haben.
  3. ^ Die lineare Renderskala im Vergleich zur Ausgangsauflösung, mit der die Technologie vor dem Up -Sampling Szenen intern rendert. Beispielsweise hätte eine 1080p -Szene mit einer 50% igen Renderskala eine interne Auflösung von 540p.

Werkzeug

Das offizielle AMD -Verzeichnis listet:[14]

Name Quellcode API OS Aufgabe
Codexl Codexl Direct3d, OpenGL, OpenCL, Vulkan Linux
Fenster
Software Development Tool Suite, die einen GPU -Debugger, einen GPU -Profiler, einen CPU -Profiler, einen statischen OpenCL -Kernel -Analysator und verschiedene Plugins umfasst.[15]
Statischer Analysator für AMD Codexl AMD-CODEXL-ANALYZER Direct3d, OpenGL, OpenCL Linux
Windows 64bit
Offline-Compiler und Leistungsanalyse Cli-Tool für die Verarbeitung: opencl kernel, HLSL Shaders und GLSL Shader
Teil der AMD -Codexl -Tools Suite
Erfordert entweder Radeon -Software Crimson Edition oder AMD -Katalysator installiert werden, um dieses Tool auszuführen.[16]
D3D 12 Plug-In für GPU Perfstudio AMD-GPUperFstudio-DX12 Direct3d 12 Fenster Ein Plug-In zu GPU Perfstudio GPU Perfstudio[17]
Dudeln Amd-Tootle agnostisch Linux
Fenster
Dreiecksbestelloptimierungstool; ursprünglich im Jahr 2006 entwickelt; kann leicht im Rahmen einer Rendering- oder Mesh-Vorverarbeitungswerkzeugkette integriert werden[18] Vgl. http://mgarland.org/files/papers/quadrics.pdf

Nachdem sie 2006 von ATI Technologies unter der BSD -Lizenz veröffentlicht wurden? HLSL2GLSL ist nicht Teil von gpuopen. Ob ähnliche Werkzeuge für Spire-V wird verfügbar sein, bleibt abzuwarten, ebenso wie die offizielle Veröffentlichung der Vulkan (API) selbst. Quellcode, der als Teil von GPUOPen definiert wurde, ist ebenfalls Teil des Linux-Kernels (z. B. AMDGPU und AMDKFD[19]), Mesa 3D und LLVM.

Softwareentwicklungskits

Name Quellcode API OS Aufgabe
Liquidvr SDK Liquidvr D3d 11 Fenster verbessert die Glätte von virtuelle Realität.[20] Ziel ist es, die Latenz zwischen Hardware zu reduzieren, damit die Hardware mit der Kopfbewegung des Benutzers Schritt halten kann und die Bewegungskrankheit beseitigt. Ein besonderer Schwerpunkt liegt auf Dual -GPU
Firerays SDK Firerays_sdk agnostisch 64-Bit Linux, OS X, 64-Bit-Fenster Eine hohe Effizienz, hohe Leistung heterogen Strahlenverfolgung Intersection Library für GPU und CPU oder APU auf einer beliebigen Plattform.
Firerender SDK Firerendersdk ? physisch basierter Rendering-Engine
Advanced Media Framework (AMF) DirectX 12 Windows 64 Bit Leichtes, tragbares Multimedia-Framework, das den größten Teil der Plattform und der API-spezifischen Details abstrahiert.
Echtes Audio als nächstes (Tan) Opencl 3 Windows 64 Bit SDK für die Radeon GPU beschleunigte und multi-core-Hochleistungs-Audiosignalverarbeitung.
Rapidfire SDK - ? Erleichtert die Verwendung von AMDs Videokomprimierungsbeschleunigungs -SIP -Blöcken VCE (H.264 -Encoder) und UVD (H.264 Decoder) für "Wolkenspiele"/Off-Site-Rendering

Professioneller Berechnung

Ab 2022 wird AMD Compute Software -Ökosystem unter dem neu gruppiert Rocm Metaprojekt.

AMD Boltzmann -Initiative: AMDGPU (Linux -Kernel 4.2+) und AMDKFD (Linux -Kernel 3.19+)

Software herum Heterogene Systemarchitektur (HSA), Allzweck-Computing auf Grafikverarbeitungseinheiten (Gpgpu) und High Performance Computing (HPC)

Radeon Open Compute (ROCM)

AMDs "Boltzmann -Initiative" (benannt nach Ludwig Boltzmann) wurde im November 2015 beim Supercomputing 15 angekündigt [21][22][23][24][25] und als Radeon Open Compute -Plattform (ROCM) produziert. Ziel ist es, eine Alternative zu Nvidia zu bieten CUDA Dies beinhaltet ein Tool zum Port-Cuda-Quellcode für tragbare Quellcode (HIP), der sowohl auf HCC als auch auf NVCC.

  • Radeon Open Compute Kernel (Rock) Fahrer
  • Radeon Open Compute Runtime (ROCR) Laufzeit
  • HCC: Heterogener Computer Compiler
  • HIP: C ++ Heterogen-Komput-Schnittstelle zur Portabilität

Heterogene Systemarchitektur

  • Hsail-Gdb: Bietet eine GNU -Debugger-basierte Debugging -Umgebung für HSA -Zwischenschicht (Hsail)
  • HSA -Laufzeit -APIs
  • Linux AMDKFD V1.6.1 Release für Kaveri & Carrizo

Verschiedene veraltet

  • Clfft Library für Schnelle Fourier-Transformation geschrieben in opencl
  • HCFFT-Bibliothek für schnelle Fourier-Transformation in HCC-optimiertes C ++ geschrieben

Verfügbarkeit

GPUOPEN sind unter dem erhältlich MIT -Lizenz an die breite Öffentlichkeit durch GitHub Ab dem 26. Januar 2016.[4]

Es gibt ineinandergreifende GPUOPEN und gut etablierte und weit verbreitete kostenlose Softwareprojekte, z. Linux Kernel, Mesa 3d und Llvm.

Siehe auch

Verweise

  1. ^ AMD: GPUOPEN (2016-01-26). "Willkommen bei gpuopen". Archiviert von das Original am 2016-03-05.
  2. ^ a b c Toms Hardware (2015-12-15). "AMD GPUOPEN: Verdoppelung der Open-Source-Entwicklung". Abgerufen 2016-01-24.
  3. ^ Maximaler PC (2015-12-15). "AMD Radeon Technologies Group Summit: GPUOPEN und Software". Abgerufen 2016-01-24.
  4. ^ a b c Anandtech (2015-12-15). "AMDs GPUOPEN -Bündel von Entwickler -Tools im Jahr 2016". Abgerufen 2016-01-24.
  5. ^ Heinz Heise (2015-12-16). "AMDS Open-Source-initiative GPUOPEN: Direkte GPU-Kontrolle und Bessere Treiber" (auf Deutsch).
  6. ^ PC Games Hardware (2015-12-16). "AMD GPU Open: Radeon-Software Wird Bald Zu 100% Open-Source" (auf Deutsch).
  7. ^ "Es ist Zeit, die GPU zu öffnen". Archiviert von das Original am 2016-03-05.
  8. ^ wccftech.com (2015-12-15). "AMDs Antwort auf Nvidias Gameworks, kündigte GPUOPEN an.". Abgerufen 2016-01-24.
  9. ^ HOTHARDWARE (2015-12-15). "AMD geht Open Source, kündigt die GPUOPEN -Initiative, den neuen Compiler und die Treiber für Linux und HPC an.". Abgerufen 2016-01-24.
  10. ^ "GPUOPEN -Effekte". GitHub.
  11. ^ "Fidelityfx". GitHub. 20. Oktober 2021.
  12. ^ Walker, Alex (2021-06-23). "AMDs FSR unterstützt nur 7 Spiele, aber es ist bereits sehr vielversprechend". Kotaku Australien. Abgerufen 2021-07-11.
  13. ^ Mujtaba, Hassan (2022-03-23). "AMD-Details FSR 2.0: NVIDIA Geforce 10 & UP-Unterstützung, hochwertige Upscaling ohne maschinelles Lernen, mehr Qualitätsmodi". Wccftech. Abgerufen 2022-03-24.
  14. ^ "GPUOPEN -Bibliotheken & SDKs". GitHub.
  15. ^ AMD GPUOPEN (2016-04-19). "Codexl 2.0 gemacht Open-Source".
  16. ^ AMD GPUOPEN (2016-01-26). "Codexl statischer Analysator CLI".
  17. ^ AMD GPUOPEN (2016-01-26). "Erstellen Sie Ihr eigenes GPU Perfstudio Direct3d 12 Plugin".
  18. ^ AMD GPUOPEN (2016-01-26). "Haben Sie Ihre 3D -Modelle getootiert?".
  19. ^ "Linux -Kernel 4.2/Treiber/GPU/DRM/AMD".
  20. ^ Heinz Heise (2015-03-04). "Liquidvr: Neues Virtual-Reality-SDK von Amd" (auf Deutsch).
  21. ^ Anandtech (2015-11-16). "AMD@SC15: Boltzmann -Initiative angekündigt - C ++ und CUDA -Compiler für AMD GPUs".
  22. ^ Heinz Heise (2015-11-17). "Supercomputer: AMD Startet Software-Offensive" Boltzmann "" (auf Deutsch).
  23. ^ 3dcenter.org (2015-11-16). "AMDS Boltzmann-initiative GEHT Direkt Gegen Nvidias Cuda" (auf Deutsch).
  24. ^ AMD (2015-11-16). "AMD startet 'Boltzmann Initiative' '".
  25. ^ AMD (2015-11-16). "Ein definierender Moment für heterogenes Computer".

Externe Links