GPUOpen - GPUOpen
| Autori originali | Microaparate avansate |
|---|---|
| Dezvoltatori | Microaparate avansate |
| Eliberarea inițială | 26 ianuarie 2016 |
| Repertoriu | |
| Scris in | C , C ++ , GLSL |
| Sistem de operare | Linux , Microsoft Windows |
| Tip | Biblioteci de efecte de joc, depanare GPU, profilare CPU și GPU |
| Licență | Licență MIT |
| Site-ul web | gpuopen |
GPUOpen este o suită de software middleware dezvoltată inițial de Radeon Technologies Group de la AMD , care oferă efecte vizuale avansate pentru jocurile pe computer. A fost lansat în 2016. GPUOpen servește ca alternativă la Nvidia GameWorks și este un concurent direct al acestuia . GPUOpen este similar cu GameWorks prin faptul că cuprinde mai multe tehnologii grafice diferite ca componente principale care anterior erau independente și separate unele de altele. Cu toate acestea, GPUOpen este un software complet open source , spre deosebire de GameWorks, care este proprietar și închis.
Istorie
GPUOpen a fost anunțat pe 15 decembrie 2015 și lansat pe 26 ianuarie 2016.
Justificare
Nicolas Thibieroz, Senior Manager AMD pentru Ingineria Mondială a Jocurilor, susține că „poate fi dificil pentru dezvoltatori să își valorifice investițiile în cercetare și dezvoltare atât pe console, cât și pe PC, din cauza disparității dintre cele două platforme” și că „bibliotecile proprietare sau lanțurile de instrumente cu„ negru ” caseta „API-urile împiedică dezvoltatorii să acceseze codul în scopuri de întreținere, portare sau optimizare”. El spune că arhitecturile viitoare, precum seria Rx 400 a AMD „includ multe caracteristici care nu sunt expuse astăzi în API-urile grafice pentru PC”.
AMD a proiectat GPUOpen pentru a fi un stack de software middleware concurent open-source lansat sub licența MIT . Bibliotecile sunt destinate să crească portabilitatea software-ului între consolele de jocuri video , PC-uri și, de asemenea , calculul de înaltă performanță .
Componente
GPUOpen unifică multe dintre instrumentele și soluțiile separate ale AMD într-un singur pachet, de asemenea, oferindu-le complet sub licența MIT. GPUOpen facilitează, de asemenea, accesul dezvoltatorului la nivel scăzut pentru dezvoltatori.
În plus, AMD dorește să ofere dezvoltatorilor interesați genul de „acces direct” la nivel scăzut la GPU-urile lor bazate pe GCN , care depășește posibilitățile Direct3D 12 sau Vulkan . AMD a menționat, de exemplu, un acces de nivel scăzut la motoarele de calcul asincrone (ACE). ACE implementează „Asynchronous Compute”, dar nu pot fi configurate în mod liber nici sub Vulkan, nici sub Direct3D 12.
GPUOpen este alcătuit din mai multe componente principale, instrumente și SDK-uri.
Jocuri și CGI
Software pentru imagini generate de computer (CGI) utilizat în dezvoltarea de jocuri de calculator și filme deopotrivă.
Biblioteci de efecte vizuale
| Nume | API | Sursă | Descriere |
|---|---|---|---|
| TressFX | DirectX 12 , Vulkan | GitHub | Această bibliotecă de efecte vizuale permite crearea de păr realist, blană și iarbă. |
| GeometryFX | DirectX 11 | GitHub | Această bibliotecă permite accesul ușor la filtrarea triunghiului bazat pe calcul. |
| DepthOfFieldFX | DirectX 11 | GitHub | Această bibliotecă oferă acces la implementarea unei adâncimi de câmp optimizate pentru arhitectura GPU GCN printr-un shader de calcul. |
| ShadowFX | DirectX 11 , DirectX 12 | GitHub | Această bibliotecă oferă acces la o implementare pentru filtrarea umbrelor amânate care este optimizată pentru arhitectura GPU GCN . |
| FidelityFX | DirectX 11 , DirectX 12 , Vulkan | GitHub | FidelityFX este o suită de biblioteci de efecte vizuale și efecte de asistență. |
FidelityFX
| Nume | Algoritm | Sursă | Descriere |
|---|---|---|---|
| FidelityFX CAS | Contrastează claritatea adaptivă | GitHub | Acest algoritm clarifică în mod adaptiv o imagine sau o scenă, reducând în același timp artefactele . |
| FidelityFX CACAO | Combinație adaptivă combinată de ocluzie ambientală | GitHub | Acest algoritm este o implementare optimizată a eșantionării adaptive de ocluzie ambientală . |
| FidelityFX LPM | Mapper de conservare a luminanței | GitHub | Acest algoritm este utilizat pentru a tonifica cartografia luma a unui pixel RGB, mai degrabă decât pentru a tonifica cartografia culorii pixelului. |
| FidelityFX SPD | Single Pass Downsampler | GitHub | Acest algoritm, optimizat pentru arhitectura GPU RDNA , este utilizat pentru a genera 12 niveluri MIP pentru o textură dată. |
| FidelityFX SSSR | Reflecții spațiale ecran ecran | GitHub | Acest algoritm este utilizat pentru a adăuga reflexii de spațiu pe ecran la un cadru sau la o scenă. |
| FidelityFX VS | Umbrire variabilă | GitHub | Acest algoritm este utilizat pentru a genera umbrire cu rată variabilă bazată pe imagini utilizând luminanța eșantioanelor din cadrul anterior. |
| Sortare paralelă FidelityFX | Radix Sort | GitHub | Acest algoritm oferă un sortare bazată pe calcul radix . |
| FidelityFX Denoiser | Shadow & Reflection Denoiser | GitHub | Acest algoritm oferă funcționalitate de denoising pentru umbre trasate pe raze și reflecții trasate pe raze sau spațiu pe ecran. |
| FidelityFX Super Resolution | Upsampler spațial | GitHub | Acest algoritm este folosit pentru a eșantiona o imagine sau un cadru la o rezoluție mai mare utilizând doar informațiile spațiale furnizate în cadrul de intrare. |
FidelityFX Super Resolution
FidelityFX Super Resolution (FSR) este utilizată pentru a preleva o imagine de intrare într-o rezoluție mai mare. Presetările standard pentru FSR recomandate de AMD pot fi găsite în tabelul de mai jos. Rețineți că aceste presetări nu sunt singurul mod în care algoritmul poate fi utilizat, ci sunt pur și simplu recomandări pentru rezoluții de intrare / ieșire. Anumite titluri, cum ar fi Dota 2, au oferit glisante de rezoluție pentru a regla fin procentul de scalare.
| Presetare de calitate | Factor de scară | Render Scale |
|---|---|---|
| Calitate ultra | 1,30x | 77,0% |
| Calitate | 1,50x | 66,6% |
| Echilibrat | 1,70x | 58,8% |
| Performanţă | 2.00x | 50,0% |
Instrumente
Directorul oficial AMD listează:
| Nume | cod sursa | API | OS | Sarcină |
|---|---|---|---|---|
| CodeXL | CodeXL | Direct3D, OpenGL, OpenCL, Vulkan | Linux Windows |
pachet de instrumente de dezvoltare software care include un debugger GPU, un profiler GPU, un profiler CPU, un analizor static OpenCL kernel și diverse pluginuri. nu mai este marcat ca produs AMD. |
| analizor static pentru AMD CodeXL | amd-codexl-analizator | Direct3D, OpenGL, OpenCL | Linux Windows pe 64 de biți |
Compiler offline și instrument de analiză a performanței CLI - instrument pentru procesare: kernelurile OpenCL, umbrele HLSL și umbrele GLSL care fac parte din pachetul de instrumente AMD CodeXL Necesită instalarea Radeon Software Crimson Edition sau AMD Catalyst pentru a rula acest instrument. |
| Plug-in D3D 12 pentru GPU PerfStudio | amd-gpuperfstudio-dx12 | Direct3D 12 | Windows | un plug-in la GPU PerfStudio GPU perfstudio |
| Tootle | amd-tootle | agnostic | Linux Windows |
Instrument de optimizare a comenzilor triunghiulare ; dezvoltat inițial în 2006; poate fi integrat cu ușurință ca parte a unui lanț de instrumente de redare sau pre-procesare a plaselor Cf. http://mgarland.org/files/papers/quadrics.pdf |
Ați fost eliberat de ATI Technologies sub licența BSD în 2006? HLSL2GLSL nu face parte din GPUOpen. Rămâne de văzut dacă vor fi disponibile instrumente similare pentru SPIR-V , la fel ca și lansarea oficială a Vulkan (API) . Codul sursă care a fost definit ca făcând parte din GPUOpen face parte, de asemenea, din nucleul Linux (de exemplu, amdgpu și amdkfd), Mesa 3D și LLVM.
Kituri de dezvoltare software
| Nume | cod sursa | API | OS | Sarcină |
|---|---|---|---|---|
| SDK LiquidVR | LiquidVR | D3D 11 | Windows | îmbunătățește netezimea realității virtuale . Scopul este de a reduce latența dintre hardware, astfel încât hardware-ul să poată ține pasul cu mișcarea capului utilizatorului, eliminând boala de mișcare. Un accent deosebit este pus pe configurările GPU duale, în care fiecare GPU va reda acum pentru un singur ochi individual de pe ecran |
| SDK FireRays | FireRays_SDK | agnostic | Linux pe 64 de biți, OS X, Windows pe 64 de biți | O bibliotecă de intersecție eterogenă de urmărire a razelor de eficiență ridicată, de înaltă performanță pentru GPU și CPU sau APU pe orice platformă. |
| SDK FireRender | FireRenderSDK | ? | motor de redare bazat fizic | |
| Advanced Media Framework (AMF) | DirectX 12 | Windows 64 de biți | Un cadru multimedia ușor, portabil, care abstractizează majoritatea detaliilor specifice platformei și API-urilor. | |
| True Audio Next (TAN) | OpenCL 3 | Windows 64 de biți | SDK pentru procesor accelerat și procesare semnal audio audio multi-core Radeon GPU. | |
| SDK RapidFire | N / A | ? | facilitează utilizarea blocurilor SIP de accelerare a compresiei video AMD VCE (codificator H.264) și UVD (decodor H.264) pentru „ Cloud gaming ” / redare în afara site-ului |
Calcul profesional
Software în jurul arhitecturii sistemelor eterogene (HSA), calcul general pentru unitățile de procesare grafică (GPGPU) și calcul de înaltă performanță (HPC)
Arhitectura eterogenă a sistemului
- HSAIL-GDB: oferă un mediu de depanare bazat pe Debugger GNU pentru HSA Intermediate Layer (HSAIL)
- API-uri HSA Runtime
- Versiunea Linux amdkfd v1.6.1 pentru Kaveri & Carrizo
Radeon Open Compute (ROCm)
„Inițiativa Boltzmann” a AMD (numită după Ludwig Boltzmann ) a fost anunțată în noiembrie 2015 la SuperComputing15 și produsă ca platformă Radeon Open Compute (ROCm). Acesta își propune să ofere o alternativă la CUDA de la Nvidia, care include un instrument de portare a codului sursă CUDA la codul sursă portabil (HIP) care poate fi compilat atât pe HCC, cât și pe NVCC .
- Driver Radeon Open Compute Kernel (ROCK)
- Radeon Open Compute Runtime (ROCR)
- HCC: Compilator de calcul heterogen
- HIP: C ++ Heterogeneous-Compute Interface pentru portabilitate
Variat
- biblioteca clFFT pentru transformata Fourier rapidă scrisă în OpenCL
- bibliotecă hcFFT pentru transformată Fourier rapidă scrisă în C ++ optimizat HCC
Disponibilitate
GPUOpen este disponibil sub licența MIT pentru publicul larg prin GitHub începând cu 26 ianuarie 2016.
Există interconectare între GPUOpen și proiecte software bine stabilite și răspândite, cum ar fi kernel-ul Linux , Mesa 3D și LLVM .
Vezi si
- AMD CodeXL
- Mantle (API)
- Vulkan (API)
- Lista jocurilor cu suport pentru upscaling de imagine de înaltă fidelitate