Les derniers contenus liés aux tags AMD et DirectX 12

Afficher sous forme de : Titre | Flux

Radeon Software 18.3.3 beta avec Vulkan 1.1

Publié le 20/03/2018 à 13:27 par Guillaume Louel

AMD a mis en ligne ces dernières heures une nouvelle version beta de ses pilotes graphiques. On retrouve comme souvent un support "optimisé" pour de nouveaux titres, cette fois ci il s'agit de Sea of Thieves et A Way Out.

Côté bugs, un problème de stuttering intermittent sous Forza Motorsport 7 à été corrigé. Pour Final Fantasy XV, ce sont des clignotements et objets disparaissant qui ont été résolus pour les configurations Multi GPU. Enfin pour Battlefront 2, c'est un plantage au lancement du titre, là encore sur des configurations Multi GPU, qui a été corrigé.

L'autre nouveauté de ces pilotes est qu'ils apportent un support de la version 1.1 de Vulkan, l'API "bas niveau" de Khronos Group. Cette nouvelle version avait été annoncée il y a quinze jours de cela  apporte plusieurs nouveautés dont les "Subgroup Operations" pour partager des données entre plusieurs tâches sur un GPU et une nouvelle version du langage intermédiaire de shaders, SPIR-V 1.3 (et de ses outils). Nvidia avait de son côté proposé un pilote beta spécifique pour Vulkan 1.1 au moment de l'annonce .

L'autre objectif pour Khronos Group est un support multi plateforme universel. Quelques jours avant l'annonce de cette version 1.1, la "Khronos Vulkan Portability Initiative"  avait été annoncée avec pour but de créer des couches de compatibilités fines s'appuyant sur les API bas niveau natives des plateformes, comme DirectX 12 pour Windows ou Metal chez Apple.

Pour rappel, Apple gère le déploiement (et le co développement) des pilotes graphiques pour sa plateforme contrairement à ce que l'on voit sous Windows, et il n'y a pas de support natif dans l'OS pour Vulkan. Microsoft n'en propose pas non plus pour Windows, le support y étant assuré par les pilotes directement (cf cette actualité), comme cela était le cas pour OpenGL dans les dernières versions de Windows.


Avec LunarG et MoltenVK, Valve annonce 50% de performances en plus sous Dota 2 par rapport à l'implémentation OpenGL sur Mac

Proposer des couches intermédiaires est donc une solution assez pragmatique, car si en général ces couches sont assez coûteuses, toutes ces API bas niveau sont excessivement proches dans leurs caractéristiques (elles sont après tout de bas niveau et "très proches du métal" avec des similarités larges) ce qui limite grandement l'impact sur les performances. Valve et Brenwill Workshop ont rendu open source LunarG  (un SDK MacOS Vulkan spécifique développé par Valve) et MoltenVK  (une couche de traduction Vulkan vers Metal pour MacOS et iOS) en partenariat avec Khronos. Vous pouvez retrouver une présentation de cette initiative sur cette page  qui évalue également la portabilité pour DirectX 12. Une autre initiative est celle de Mozilla  dans le cadre du développement de son API cross plateforme bas niveau gfx-rs .

Le téléchargement de ces pilotes AMD s'effectue sur cette page du site du constructeur .

GDC: Wave programming pour booster les perfs

Publié le 28/02/2017 à 19:40 par Damien Triolet

Comme chaque année, la journée d'ouverture de la GDC est l'occasion pour AMD et Nvidia de s'associer pour parler des nouvelles API et aider les développeurs à mieux les exploiter. Premier sujet du jour : le wave programming qui sera introduit prochainement sous DirectX 12 et Vulkan pour permettre de nouvelles optimisations des performances.

Les nouvelles API telles que Direct3D 12 ou DirectX 12 et Vulkan permettent d'optimiser les performances à différents niveaux. Elles ont été introduites avec des promesses au niveau d'une baisse drastique du surcoût CPU lié au rendu 3D mais également avec des opportunités de gains de performances côté GPU via l'exécution concomitante de certaines tâches ("async compute"). Une nouvelle possibilité d'optimisation au niveau du GPU va bientôt être standardisée : le wave programming.

Qu'est-ce que c'est ? Fondamentalement il s'agit d'exposer le comportement vectoriel des GPU de manière à permettre aux développeurs de mettre en place des optimisations spécifiques. Jusqu'ici, pour ce qui concerne le rendu 3D, les API font une abstraction totale du modèle d'exécution vectoriel des GPU. Un vertex représente un thread, un pixel représente un autre thread et les GPU exécutent cette masse de threads comme ils l'entendent.

Comme vous le savez probablement, les unités de calcul des GPU sont en réalité de larges unités vectorielles ou SIMD qui travaillent par ailleurs sur plusieurs cycles. Du côté des GeForce ce sont des vecteurs de 32 threads (warp) qui sont pris en charge par les unités d'exécution. Du côté des Radeon les GPU GCN travaillent avec des vecteurs de 64 threads (wavefront). Idéalement tous les threads d'un warp/wavefront vont suivre un même chemin prédéfini. Mais ce n'est pas toujours le cas, il peut y avoir des divergences dans les accès mémoires et les shaders.

Exposer ce fonctionnement aux développeurs apporte de nouvelles possibilités d'optimisations au niveau du contrôle des branches, des accès mémoire ou du partage de données entre threads. Cela fait partie des optimisations qui sont accessibles pour le GPU computing et qui sont exploitées par les développeurs sur console. C'est également ce qu'AMD a commencé à mettre en place via des extensions propriétaires et autres backdoors propriétaires pour DirectX 12. AMD y faisait référence jusqu'ici en tant que fonctions intrinsèques.

Pour donner un exemple du wave programming, c'est en grande partie ce qui permet aux Radeon d'obtenir leurs très bonnes performances dans Doom. Sur le GPU GCN de la PS4, le gain est de 43% au niveau de la passe de rendu principale et une technique similaire a pu être portée sur PC. C'est également ce à quoi Nvidia fait appel pour booster les performances de certaines de ses librairies dont Optix.

Un support standardisé au niveau des shaders est en préparation pour Vulkan mais également pour DirectX 12. Microsoft travaille depuis l'an passé sur une mise à jour de son API qui va apporter les Shader Model 6. Ces SM6 seront spécifiques à Direct3D 12 mais seront compatibles avec les GPU déjà existants. Nvidia parle d'un support pour tous ses GPU depuis Kepler et AMD depuis GCN 3.

Le wave programming ne sera cependant pas simple à exploiter de manière optimale, notamment parce que les développeurs devront prévoir directement dans les fonctions de leurs shaders au moins deux cas de figure vu les différences majeures d'architectures entre AMD et Nvidia.

Pas mal d'expérimentations et de tests seront ainsi nécessaires pour s'assurer que ces optimisations apportent réellement un bénéfice sur tous les GPU. Une optimisation de ce type pour GPU AMD sera contreproductive sur GPU Nvidia ou encore pourra poser problème sur un GPU qui serait équipé de moins de registres physiques. Par contre les meilleurs développeurs pourront pousser très loin l'optimisation des shaders et c'est évidemment une bonne nouvelle pour le jeu PC.

Vous pourrez retrouver l'intégralité de la présentation commune d'AMD et Nvidia ci-dessous :

 
 

Pilotes AMD Radeon Software 16.10.2

Publié le 20/10/2016 à 20:50 par Guillaume Louel

Radeon AMD vient de mettre en ligne une nouvelle version de ses pilotes Radeon Software dédiés à ses cartes graphiques. Cette version 16.10.2 apporte des optimisations pour les jeux Battlefield 1, Civilization VI, Titanfall 2, Serious Sam VR et Eagle Flight VR. Un profil Crossfire pour Civ VI en mode DX11 est également inclus et celui pour Battlefield 1 a été mis à jour.

Des bugs ont également été corrigés, comme certains cas ou la vitesse des ventilateurs restait élevée sur les Radeon RX400 après avoir quitté une application graphique, ou des incompatibilités pour les jeux DirectX 12 avec des processeurs ne disposant pas des instructions x86 popcnt (introduites respectivement à partir de Nehalem et Barcelona). Des crash sous Gears of War 4 ont aussi été résolus pour ceux qui jouent dans des résolutions graphiques élevées.

Les pilotes sont disponibles directement sur le site d'AMD .

Pilotes AMD Radeon Software 16.9.1

Publié le 08/09/2016 à 13:14 par Guillaume Louel

RadeonAMD a mis en ligne une nouvelle version de ses pilotes pour cartes graphiques, les 16.9.1. Cette nouvelle version apporte des optimisations pour le mode DirectX 12 de Deus Ex : Mankind Divided. Le patch DX12 pour ce jeu est pour rappel attendu aujourd'hui.

Le constructeur rajoute également un profil Crossfire pour DOTA 2 en mode DX11. Des bugs ont été corrigé du côté des écrans 144 Hz qui pouvaient montrer par intermittence des clignotements en jeu ou sur le bureau Windows, à la fois pour les écrans FreeSync et ceux qui en sont dépourvus. Des crashs ont été résolus sous GTAV et DOOM, ainsi que des clignotements en mode high/ultra sous Dirt Rally. Un bug particulièrement gênant de charge GPU élevée en sortie de veille a également été corrigé.

Vous pourrez retrouver plus de détails et les liens pour télécharger la version adéquate des pilotes pour votre système d'exploitation sur le site d'AMD .

Focus : Ashes of the Singularity et DirectX 12 : AMD vs Nvidia

Publié le 03/03/2016 à 15:15 par Damien Triolet

Après deux années de gestation, DirectX 12 s'apprête enfin à devenir réalité avec l'arrivée des premiers jeux développés pour cette nouvelle API graphique plus efficace. A la clé, des gains de performances potentiellement significatifs autant du côté CPU que du côté GPU et la dernière version beta d'Ashes of the Singularity est l'occasion d'observer tout cela de plus près à travers un premier match AMD vs Nvidia sous DirectX 12.

Libérer le CPU

Ashes of the Singularity est un jeu de stratégie en temps réel développé par Oxide Games et Stardock Entertainment. La particularité de ce...

[+] Lire la suite

Top articles