GPUOuvrir - GPUOpen

GPUOuvrir
AMD GPUOpen Logo, janvier 2016.png
Auteur(s) original(aux) Micro-systèmes avancés
Développeur(s) Micro-systèmes avancés
Première version 26 janvier 2016 ( 2016-01-26 )
Dépôt
Écrit en C , C++ , GLSL
Système opérateur Linux , Microsoft Windows
Taper Bibliothèques d'effets de jeu, débogage GPU, profilage CPU et GPU
Licence Licence MIT
Site Internet gpuopen .com

GPUOpen est une suite logicielle middleware développée à l'origine par le groupe Radeon Technologies d' AMD qui offre des effets visuels avancés pour les jeux informatiques. Il est sorti en 2016. GPUOpen sert d'alternative et de concurrent direct à Nvidia GameWorks . GPUOpen est similaire à GameWorks en ce sens qu'il englobe plusieurs technologies graphiques différentes en tant que composants principaux qui étaient auparavant indépendants et séparés les uns des autres. Cependant, GPUOpen est un logiciel entièrement open source , contrairement à GameWorks qui est propriétaire et fermé.

Histoire

GPUOpen a été annoncé le 15 décembre 2015 et publié le 26 janvier 2016.

Raisonnement

Nicolas THIBIEROZ, directeur principal d'AMD d'ingénierie Worldwide Gaming, affirme qu ' « il peut être difficile pour les développeurs de tirer parti de leurs investissements R & D sur les deux consoles et PC en raison de la disparité entre les deux plates - formes » et que « les chaînes de bibliothèques propriétaires ou outils avec » noir case " Les API empêchent les développeurs d'accéder au code à des fins de maintenance, de portage ou d'optimisation". Il dit que les architectures à venir, telles que la série Rx 400 d'AMD "incluent de nombreuses fonctionnalités non exposées aujourd'hui dans les API graphiques PC".

AMD a conçu GPUOpen pour être une pile middleware open source concurrente publiée sous la licence MIT . Les bibliothèques sont destinées à augmenter la portabilité des logiciels entre les consoles de jeux vidéo , les PC et aussi le calcul haute performance .

Composants

GPUOpen unifie de nombreux outils et solutions précédemment séparés d'AMD en un seul package, et les rend également entièrement open source sous la licence MIT. GPUOpen permet également aux développeurs d'obtenir facilement un accès GPU de bas niveau.

De plus, AMD souhaite accorder aux développeurs intéressés le type d'"accès direct" de bas niveau à leurs GPU basés sur GCN , qui surpasse les possibilités de Direct3D 12 ou Vulkan . AMD a mentionné par exemple un accès de bas niveau aux moteurs de calcul asynchrones (ACE). Les ACE implémentent "Asynchronous Compute", mais ils ne peuvent être librement configurés ni sous Vulkan ni sous Direct3D 12.

GPUOpen est composé de plusieurs composants, outils et SDK principaux.

Jeux et CGI

Logiciel d' imagerie générée par ordinateur (CGI) utilisé dans le développement de jeux informatiques et de films.

Bibliothèques d'effets visuels

GPUOuvrir les bibliothèques d'effets visuels
Nom API La source La description
TressFX DirectX 12 , Vulkan GitHub Cette bibliothèque d'effets visuels permet la création de cheveux, de fourrure et d'herbe réalistes.
GeometryFX DirectX 11 GitHub Cette bibliothèque permet un accès facile au filtrage triangulaire basé sur le calcul.
DepthOfFieldFX DirectX 11 GitHub Cette bibliothèque donne accès à une implémentation de profondeur de champ optimisée pour l' architecture GPU GCN via un shader de calcul.
ShadowFX DirectX 11 , DirectX 12 GitHub Cette bibliothèque permet d'accéder à une implémentation de filtrage d'ombre différée optimisée pour l' architecture GPU GCN .
FidelityFX DirectX 11 , DirectX 12 , Vulkan GitHub FidelityFX est une suite d'effets visuels et de bibliothèques d'aide aux effets.

FidelityFX

Composants FidelityFX
Nom Algorithme La source La description
FidelityFX CAS Netteté adaptative au contraste GitHub Cet algorithme affine de manière adaptative une image ou une scène tout en minimisant les artefacts .
FidelityFX CACAO Occlusion ambiante combinée de calcul adaptatif GitHub Cet algorithme est une implémentation optimisée de l'occlusion ambiante d'échantillonnage adaptatif .
FidelityFX LPM Mapper préservant la luminance GitHub Cet algorithme est utilisé pour cartographier la luminance d'un pixel RVB plutôt que pour cartographier la couleur du pixel.
SPD FidelityFX Sous-échantillonneur à passage unique GitHub Cet algorithme, optimisé pour l' architecture GPU RDNA , permet de générer 12 niveaux MIP pour une texture donnée.
SSSR FidelityFX Réflexions stochastiques sur l'espace de l'écran GitHub Cet algorithme est utilisé pour ajouter des réflexions d'espace d'écran à une image ou une scène.
FidelityFX VS Ombrage variable GitHub Cet algorithme est utilisé pour générer un ombrage à taux variable basé sur l'image en utilisant la luminance des échantillons dans la trame précédente.
Tri parallèle FidelityFX Tri par base GitHub Cet algorithme fournit un tri par base basé sur le calcul .
Débruiteur FidelityFX Débruiteur d'ombres et de reflets GitHub Cet algorithme fournit une fonctionnalité de débruitage pour les ombres par lancer de rayons et les réflexions par lancer de rayons ou dans l'espace écran.
Super résolution FidelityFX Suréchantillonneur spatial GitHub Cet algorithme est utilisé pour suréchantillonner une image ou une trame dans une résolution plus élevée en utilisant uniquement les informations spatiales fournies dans la trame d'entrée.

Super résolution FidelityFX

FidelityFX Super Resolution (FSR) est utilisé pour suréchantillonner une image d'entrée dans une résolution plus élevée. Les préréglages standard pour FSR recommandés par AMD se trouvent dans le tableau ci-dessous. Notez que ces préréglages ne sont pas le seul moyen d'utiliser l'algorithme, ce sont simplement des recommandations pour les résolutions d'entrée/sortie. Certains titres, tels que Dota 2, proposent des curseurs de résolution pour affiner le pourcentage de mise à l'échelle.

Préréglages FSR standard
Qualité prédéfinie Facteur d'échelle Échelle de rendu
Ultra qualité 1,30x 77,0%
Qualité 1,50x 66,6%
Équilibré 1,70x 58,8%
Performance 2,00x 50,0%

Outils

L'annuaire officiel d'AMD répertorie :

Nom code source API Système d'exploitation Tâche
Code XL Code XL Direct3D, OpenGL, OpenCL, Vulkan Linux
Windows
suite d'outils de développement logiciel qui comprend un débogueur GPU, un profileur GPU, un profileur CPU, un analyseur de noyau OpenCL statique et divers plugins. n'est plus marqué comme un produit AMD.
analyseur statique pour AMD CodeXL analyseur-amd-codexl Direct3D, OpenGL, OpenCL Linux
Windows 64 bits
Compilateur hors ligne et outil CLI d' analyse des performances pour le traitement : noyaux OpenCL, shaders HLSL et shaders GLSL
faisant partie de la suite d'outils AMD CodeXL
Nécessite l' installation de Radeon Software Crimson Edition ou d' AMD Catalyst pour exécuter cet outil.
Plug-in D3D 12 pour GPU PerfStudio amd-gpuperfstudio-dx12 Direct3D 12 les fenêtres un plug-in pour GPU PerfStudio GPU perfstudio
Jouer un petit air amd-tootle agnostique Linux
Windows
Outil d'optimisation de l'ordre triangulaire ; développé à l'origine en 2006; peut être facilement intégré dans le cadre d'une chaîne d'outils de pré-traitement de rendu ou de maillage Cf. http://mgarland.org/files/papers/quadrics.pdf

Ayant été publié par ATI Technologies sous licence BSD en 2006 ? HLSL2GLSL ne fait pas partie de GPUOpen. Il reste à voir si des outils similaires pour SPIR-V seront disponibles, tout comme la version officielle de Vulkan (API) elle-même. Le code source qui a été défini comme faisant partie de GPUOpen fait également partie du noyau Linux (par exemple amdgpu et amdkfd), Mesa 3D et LLVM.

Kits de développement logiciel

Nom code source API Système d'exploitation Tâche
SDK LiquidVR LiquidVR D3D 11 les fenêtres améliore la fluidité de la réalité virtuelle . L'objectif est de réduire la latence entre le matériel afin que le matériel puisse suivre le mouvement de la tête de l'utilisateur, éliminant ainsi le mal des transports. Un accent particulier est mis sur les configurations à double GPU où chaque GPU sera désormais rendu pour un œil individuellement de l'écran
SDK FireRays FireRays_SDK agnostique Linux 64 bits, OS X, Windows 64 bits Une bibliothèque d'intersection de traçage de rayons hétérogène à haute efficacité et hautes performances pour GPU et CPU ou APU sur n'importe quelle plate-forme.
SDK FireRender FireRenderSDK ? moteur de rendu physique
Cadre média avancé (AMF) DirectX12 Windows 64 bits Framework multimédia léger et portable qui fait abstraction de la plupart des détails spécifiques à la plate-forme et à l'API.
True Audio Next (TAN) OpenCL 3 Windows 64 bits SDK pour Radeon GPU accéléré et traitement du signal audio multicœur hautes performances.
SDK RapidFire N / A ? facilite l'utilisation des blocs SIP d'accélération de la compression vidéo d'AMD VCE (encodeur H.264) et UVD (décodeur H.264) pour le " Cloud gaming " / rendu hors site

Calcul professionnel

Image
Initiative AMD Boltzmann : amdgpu(noyau Linux 4.2+) et amdkfd(noyau Linux 3.19+)

Logiciels autour de l' Architecture Système Hétérogène (HSA), du Calcul Général sur Unités de Traitement Graphique (GPGPU) et du Calcul Haute Performance (HPC)

Architecture de système hétérogène

Radeon Open Compute (ROCm)

L'« Initiative Boltzmann » d'AMD (du nom de Ludwig Boltzmann ) a été annoncée en novembre 2015 au SuperComputing15 et produite sous le nom de plate-forme Radeon Open Compute (ROCm). Il vise à fournir une alternative au CUDA de Nvidia qui inclut un outil pour porter le code source CUDA vers le code source portable (HIP) qui peut être compilé à la fois sur HCC et NVCC .

  • Pilote Radeon Open Compute Kernel (ROCK)
  • Runtime Radeon Open Compute Runtime (ROCR)
  • HCC : compilateur de calcul hétérogène
  • HIP : interface de calcul hétérogène C++ pour la portabilité

Divers

  • bibliothèque clFFT pour la transformée de Fourier rapide écrite en OpenCL
  • bibliothèque hcFFT pour la transformation de Fourier rapide écrite en C++ optimisé pour HCC

Disponibilité

GPUOpen sont disponibles sous la licence MIT pour le grand public via GitHub à partir du 26 janvier 2016.

Il existe un lien entre GPUOpen et des projets de logiciels libres bien établis et répandus, par exemple le noyau Linux , Mesa 3D et LLVM .

Voir également

Les références

Liens externes