GPUOpenen - GPUOpen

GPUOpen
AMD GPUOpen-logo, jan 2016.png
Oorspronkelijke auteur(s) Geavanceerde micro-apparaten
Ontwikkelaar(s) Geavanceerde micro-apparaten
Eerste uitgave 26 januari 2016 ( 2016-01-26 )
Opslagplaats
Geschreven in C , C++ , GLSL
Besturingssysteem Linux , Microsoft Windows
Type Speleffectenbibliotheken, GPU-foutopsporing, CPU- en GPU-profilering
Vergunning MIT-licentie
Website gpuopen .com

GPUOpen is een middleware- softwaresuite die oorspronkelijk is ontwikkeld door AMD 's Radeon Technologies Group en die geavanceerde visuele effecten biedt voor computergames. Het werd uitgebracht in 2016. GPUOpen dient als alternatief voor en een directe concurrent van Nvidia GameWorks . GPUOpen is vergelijkbaar met GameWorks omdat het verschillende grafische technologieën omvat als de belangrijkste componenten die voorheen onafhankelijk en gescheiden van elkaar waren. GPUOpen is echter volledig open source-software , in tegenstelling tot GameWorks, dat propriëtair en gesloten is.

Geschiedenis

GPUOpen werd aangekondigd op 15 december 2015 en uitgebracht op 26 januari 2016.

reden

Nicolas Thibieroz, AMD's Senior Manager van Worldwide Gaming Engineering, stelt dat "het voor ontwikkelaars moeilijk kan zijn om hun R&D-investeringen op zowel consoles als pc te benutten vanwege de ongelijkheid tussen de twee platforms" en dat "eigen bibliotheken of gereedschapsketens met" zwarte box " API's voorkomen dat ontwikkelaars toegang krijgen tot de code voor onderhouds-, overdrachts- of optimalisatiedoeleinden". Hij zegt dat opkomende architecturen, zoals AMD's Rx 400-serie "veel functies bevatten die vandaag niet beschikbaar zijn in grafische API's voor pc's".

AMD heeft GPUOpen ontworpen als een concurrerende open source middleware-stack die is uitgebracht onder de MIT-licentie . De bibliotheken zijn bedoeld om de overdraagbaarheid van software tussen videogameconsoles , pc's en ook high-performance computing te vergroten .

Componenten

GPUOpen verenigt veel van AMD's voorheen afzonderlijke tools en oplossingen in één pakket, en ze ook volledig open source onder de MIT-licentie. GPUOpen maakt het ook gemakkelijk voor ontwikkelaars om low-level GPU-toegang te krijgen.

Daarnaast wil AMD geïnteresseerde ontwikkelaars het soort "directe toegang" op laag niveau tot hun GCN- gebaseerde GPU's bieden, die de mogelijkheden van Direct3D 12 of Vulkan overtreft . AMD noemde bijvoorbeeld een low-level toegang tot de Asynchronous Compute Engines (ACE's). De ACE implementeert "Asynchronous Compute", maar ze kunnen niet vrij worden geconfigureerd, noch onder Vulkan, noch onder Direct3D 12.

GPUOpen bestaat uit verschillende hoofdcomponenten, tools en SDK's.

Games en CGI

Software voor computergegenereerde beelden (CGI) die wordt gebruikt bij de ontwikkeling van zowel computerspellen als films.

Bibliotheken met visuele effecten

GPUOpen Visual Effects-bibliotheken
Naam API Bron Beschrijving
TressFX DirectX 12 , Vulkan GitHub Deze bibliotheek met visuele effecten maakt het mogelijk om realistisch haar, vacht en gras te creëren.
GeometryFX DirectX 11 GitHub Deze bibliotheek biedt gemakkelijke toegang tot op computers gebaseerde driehoeksfiltering.
DepthOfFieldFX DirectX 11 GitHub Deze bibliotheek geeft via een compute shader toegang tot een scherptediepte-implementatie die is geoptimaliseerd voor de GCN GPU-architectuur .
ShadowFX DirectX 11 , DirectX 12 GitHub Deze bibliotheek geeft toegang tot een implementatie voor uitgestelde schaduwfiltering die is geoptimaliseerd voor de GCN GPU-architectuur .
FidelityFX DirectX 11 , DirectX 12 , Vulkan GitHub FidelityFX is een suite van visuele effecten en effecten-helperbibliotheken.

FidelityFX

FidelityFX-componenten
Naam Algoritme Bron Beschrijving
FidelityFX CAS Contrast Adaptieve verscherping GitHub Dit algoritme verscherpt een afbeelding of scène adaptief terwijl artefacten worden geminimaliseerd .
FidelityFX CACAO Gecombineerde Adaptive Compute Ambient Oclusion GitHub Dit algoritme is een geoptimaliseerde implementatie van adaptieve bemonsteringsomgevingsocclusie .
FidelityFX LPM Luminantiebehoud Mapper GitHub Dit algoritme wordt gebruikt om toon kaart de luminantie van een RGB-beeldpunt en niet toonafbeelding de kleur van de pixel.
FidelityFX SPD Enkele doorgang downsampler GitHub Dit algoritme, geoptimaliseerd voor de RDNA GPU-architectuur , wordt gebruikt om 12 MIP- niveaus voor een bepaalde textuur te genereren .
FidelityFX SSSR Stochastische schermruimtereflecties GitHub Dit algoritme wordt gebruikt om schermruimtereflecties toe te voegen aan een frame of scène.
FidelityFX VS Variabele arcering GitHub Dit algoritme wordt gebruikt om op afbeeldingen gebaseerde arcering met variabele snelheid te genereren met behulp van de luminantie van monsters in het vorige frame.
FidelityFX parallel sorteren Radix Sorteren GitHub Dit algoritme biedt een op rekenkracht gebaseerde radix-sortering .
FidelityFX Denoiser Schaduw & Reflectie Denoiser GitHub Dit algoritme verschaft bescherming van auteursrechten functionaliteit -ray getraceerd schaduwen en-ray getraceerd of screen-space reflecties.
FidelityFX Superresolutie Ruimtelijke upsampler GitHub Dit algoritme wordt gebruikt om een ​​afbeelding of frame te upsamplen naar een hogere resolutie met alleen de ruimtelijke informatie in het invoerframe.

FidelityFX Superresolutie

FidelityFX Super Resolution (FSR) wordt gebruikt om een ​​invoerbeeld te upsamplen naar een hogere resolutie. De door AMD aanbevolen standaard presets voor FSR vind je in onderstaande tabel. Merk op dat deze voorinstellingen niet de enige manier zijn waarop het algoritme kan worden gebruikt, het zijn gewoon aanbevelingen voor invoer-/uitvoerresoluties. Bepaalde titels, zoals Dota 2, hebben resolutieschuifregelaars aangeboden om het schaalpercentage te verfijnen.

Standaard FSR-presets
Kwaliteitsvoorinstelling Schaal factor Renderschaal
Ultrakwaliteit 1.30x 77,0%
Kwaliteit 1.50x 66,6%
Evenwichtig 1,70x 58,8%
Uitvoering 2,00x 50,0%

Gereedschap

De officiële AMD-directory bevat:

Naam broncode API OS Taak
CodeXL CodeXL Direct3D, OpenGL, OpenCL, Vulkan Linux
Windows
software-ontwikkelingstoolsuite met een GPU-debugger, een GPU-profiler, een CPU-profiler, een statische OpenCL-kernelanalysator en verschillende plug-ins. niet langer gebrandmerkt als een AMD-product.
statische analysator voor AMD CodeXL amd-codexl-analyzer Direct3D, OpenGL, OpenCL Linux
Windows 64bit
Off-line compiler en prestatieanalyse CLI- tool voor verwerking: OpenCL-kernels, HLSL-shaders en GLSL-shaders maken
deel uit van de AMD CodeXL-toolsuite
Vereist Radeon Software Crimson Edition of AMD Catalyst om deze tool uit te voeren.
D3D 12-plug-in voor GPU PerfStudio amd-gpuperfstudio-dx12 Direct3D 12 ramen een plug-in voor GPU PerfStudio GPU perfstudio
Tootle amd-toetle agnostisch Linux
Windows
Driehoek Orderoptimalisatietool ; oorspronkelijk ontwikkeld in 2006; kan eenvoudig worden geïntegreerd als onderdeel van een rendering of mesh pre-processing tool chain Cf. http://mgarland.org/files/papers/quadrics.pdf

In 2006 door ATI Technologies vrijgegeven onder de BSD-licentie? HLSL2GLSL maakt geen deel uit van GPUOpen. Of vergelijkbare tools voor SPIR-V beschikbaar zullen zijn, valt nog te bezien, net als de officiële release van de Vulkan (API) zelf. Broncode die is gedefinieerd als onderdeel van GPUOpen is ook onderdeel van de Linux-kernel (bijv. amdgpu en amdkfd), Mesa 3D en LLVM.

Softwareontwikkelingskits

Naam broncode API OS Taak
LiquidVR SDK LiquidVR D3D 11 ramen verbetert de soepelheid van virtual reality . Het doel is om de latentie tussen hardware te verminderen, zodat de hardware de hoofdbewegingen van de gebruiker kan bijhouden, waardoor bewegingsziekte wordt geëlimineerd. Een bijzondere focus ligt op dubbele GPU-configuraties waarbij elke GPU nu voor één oog afzonderlijk van het scherm wordt weergegeven
FireRays SDK FireRays_SDK agnostisch 64-bits Linux, OS X, 64-bits Windows Een zeer efficiënte, hoogwaardige heterogene ray tracing- intersectiebibliotheek voor GPU en CPU of APU op elk platform.
FireRender SDK FireRenderSDK ? fysiek gebaseerde rendering-engine
Geavanceerd mediakader (AMF) DirectX 12 Windows 64-bits Lichtgewicht, draagbaar multimediaframework dat de meeste platform- en API-specifieke details wegneemt.
True Audio Volgende (TAN) OpenCL 3 Windows 64-bits SDK voor Radeon GPU versnelde en multi-core high-performance audiosignaalverwerking.
RapidFire SDK Nvt ? vergemakkelijkt het gebruik van AMD's videocompressieversnelling SIP-blokken VCE (H.264-encoder) en UVD (H.264-decoder) voor " Cloud gaming "/off-site rendering

Professioneel computergebruik

Image
AMD Boltzmann-initiatief: amdgpu(Linux-kernel 4.2+) en amdkfd(Linux-kernel 3.19+)

Software rond heterogene systeemarchitectuur (HSA), General-Purpose computing op Graphics Processing Units (GPGPU) en High-Performance Computing (HPC)

Heterogene systeemarchitectuur

  • HSAIL-GDB: biedt een op GNU Debugger gebaseerde debugging-omgeving voor HSA Intermediate Layer (HSAIL)
  • HSA Runtime API's
  • Linux amdkfd v1.6.1 release voor Kaveri & Carrizo
Radeon Open Compute (ROCm)

AMD's "Boltzmann Initiative" (genoemd naar Ludwig Boltzmann ) werd in november 2015 aangekondigd op de SuperComputing15 en geproduceerd als het Radeon Open Compute-platform (ROCm). Het is bedoeld om een ​​alternatief te bieden voor Nvidia's CUDA, dat een tool bevat om CUDA-broncode over te zetten naar draagbare (HIP) broncode die kan worden gecompileerd op zowel HCC als NVCC .

  • Radeon Open Compute Kernel (ROCK)-stuurprogramma
  • Radeon Open Compute Runtime (ROCR) runtime
  • HCC: Heterogene Compute Compiler
  • HIP: C++ heterogene compute-interface voor draagbaarheid

Verscheidene

  • clFFT-bibliotheek voor Fast Fourier-transformatie geschreven in OpenCL
  • hcFFT-bibliotheek voor Fast Fourier-transformatie geschreven in HCC-geoptimaliseerde C++

Beschikbaarheid

GPUOpen is vanaf 26 januari 2016 beschikbaar onder de MIT-licentie voor het grote publiek via GitHub .

Er is een koppeling tussen GPUOpen en gevestigde en wijdverbreide gratis softwareprojecten, bijv. Linux-kernel , Mesa 3D en LLVM .

Zie ook

Referenties

Externe links