GPUOpenen - GPUOpen
| Oorspronkelijke auteur(s) | Geavanceerde micro-apparaten |
|---|---|
| Ontwikkelaar(s) | Geavanceerde micro-apparaten |
| Eerste uitgave | 26 januari 2016 |
| Opslagplaats | |
| Geschreven in | C , C++ , GLSL |
| Besturingssysteem | Linux , Microsoft Windows |
| Type | Speleffectenbibliotheken, GPU-foutopsporing, CPU- en GPU-profilering |
| Vergunning | MIT-licentie |
| Website | gpuopen |
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
| 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
| 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.
| 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
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
- AMD CodeXL
- Mantel (API)
- Vulkan (API)
- Lijst met games met ondersteuning voor high-fidelity beeldopschaling