Bien que les puces Polaris se soient montrées relativement convaincantes sur les créneaux de l’entrée et du milieu gamme, leur architecture n’était absolument pas taillée pour offrir un niveau de performances suffisant pour aller chercher les GTX 1070 ou 1080. AMD a donc dû travailler sur de nouveaux compromis techniques, pour donner naissance à Vega 10, un nouveau GPU haut de gamme intégrée aux cartes RX Vega 56 et 64, et dont nous allons vous détailler les caractéristiques principales.
Comme les puces Polaris 10 et 11, la fabrication de Vega 10 profite d’un procédé de gravure 14nm FinFET, ce qui a permis à AMD de revendiquer une densité de 12,5 milliards de transistors, sur un die de 486 mm². C’est évidemment plus que Fiji (le GPU des cartes Radeon Fury) qui reposait sur un die plus large et une finesse de gravure de 28 nm, mais pas tant que cela. D’ailleurs, on constate, toujours par rapport au précédent processeur graphique haut de gamme de la marque, que le nombre d’unités de calcul élémentaires demeure stable : on en trouve ainsi 4096 réparties sur 64 NCU. NCU, une nouvelle appellation pour les Compute Unit qui deviennent donc des Next-gen Compute Unit, mais qui ne traduit pas de très grosses évolutions, par rapport à ce que proposait Polaris. Principalement, ces CU se doteront d’un nouveau jeu d’instruction baptisé Rapid Packed Math et qui va permettre un support plus complet de la demi-précision (FP16). Il va permettre d’utiliser les registres 32 bits pour y stocker si besoin deux données 16 bits. AMD espère obtenir par ce biais un double gain d’économie d’énergie et de performances sur les opérations qui s’y prêteraient… Mais c’est bien là tout le problème : actuellement, la très grande majorité des opérations traitées par les GPU utilisent un niveau de précision FP32, et sans l’appui des développeurs (de jeux notamment), les gains liés aux optimisations FP16 risquent de demeurer limités dans la pratique.
Continuons sur les nouveautés d’architecture en abordant les modifications qui concernent les moteurs géométriques. Ces derniers disposent maintenant de nouveaux shaders (baptisés Primitive Shader par AMD), que les développeurs pourront exploiter et qui vont pouvoir éjecter plus efficacement du process de rendu les éléments masqués d’une scène 3D, avec là encore à la clé, des gains potentiels de performances et d’énergie. Et toujours dans ce même esprit, les équipes d’AMD ont revu leur moteur de rastérisation (l’opération qui consiste à transformer une scène 3D en une image plane composée de pixels). Nommé DSBR pour Draw Stream Binning Rasterizer, ce moteur reprend le principe du tile rendering en y intégrant un système de buffer qui sera chargé d’identifier en amont les pixels masqués dont le calcul sera alors évité. Une méthode qui se rapproche de ce que NVIDIA avait exposé lors de la dernière GDC, lorsque le fabricant avait précisé les détails de son propre système de rastérisation sur Pascal baptisé Tile Caching. Enfin, AMD a profité de cette nouvelle génération de puce pour améliorer son support de DirectX12, qui devient dès lors plus complet que celui des GPU concurrents.
Derrière les améliorations liées au GPU proprement dit, l’autre gros axe de développement qui caractérise Vega est évidemment l’intégration de mémoire HBM2. Rappelons que les modules de mémoire HBM ont ceci de particulier qu’ils se positionnent directement à côté du GPU, tous ces éléments reposant sur un même support, l’interposer, charger de relier l’ensemble via de courtes interconnections. L’idée étant de gagner à la fois en place (ce qui avait permis de proposer des Radeon Fury très compactes) et en bande passante. Sur la génération Fiji, AMD avait fait le choix de 4 modules de 1 Go pour une bande passante globale de 512 Go/s. Sur Vega, la HBM2 permet de doubler la bande passante par pins, mais AMD n’a intégré que deux modules de 4 Go. Au final, on se retrouve donc avec une bande passante équivalente d’une génération à l’autre : 484 Go/s pour la version Vega 64, un peu moins pour Vega 56, dont la fréquence mémoire est moins haute.
Au-delà de l’aspect intégration pure de la mémoire HBM2, on note que les ingénieurs d’AMD ont également travaillé sur la meilleure manière de la gérer. La marque inaugure ainsi le système dit HBCC, pour High-Bandwidth Cache Controller, qui va permettre d’assigner au GPU une certaine quantité de mémoire système. De fait, si un jeu vient à exiger une quantité de mémoire vidéo plus importante que celle embarquée par la carte, le système HBCC étendra automatiquement les besoins sur la mémoire vive. L’idée est plutôt astucieuse, mais il faut reconnaître que dans le cas précis des cartes Vega, son utilité demeure discutable. On parle en effet de cartes embarquant déjà 8Go et qui sont donc largement dimensionnées pour couvrir les exigences vidéoludiques actuelles, y compris sur des définitions Ultra HD. La fonctionnalité ne devrait donc intéresser dans un premier temps que les professionnels, dont les besoins en mémoire vidéo sont parfois d'un tout autre niveau.
Maintenant, revenons sur la question de la densité abordée en début de page : comme nous le soulignions, AMD n’a pas profité des gains générés par l’amélioration du process de gravure pour gonfler le nombre d’unités de calcul de ses puces Vega. Cela ne veut toutefois pas dire qu’AMD n’a généré aucun gain vis-à-vis de cet aspect. En vérité, la marque a optimisé son architecture et notamment le layout de ses NCU de manière à pouvoir augmenter drastiquement les fréquences de ses GPU. Résultat : la puce graphique de la carte Vega 64 est annoncée pour un fonctionnement de base à 1274 MHz, et un mode boost à 1546 MHz, tandis que ces valeurs sont respectivement de 1156 et 1471 MHz pour la version Vega 56. Le gain est considérable par rapport aux produits Radeon Fury qui plafonnaient précédemment autour des 1 GHz, et n'est pas sans rappeler l'orientation qui avait guidé NVIDIA, dans le développement de l'architecture Pascal des GTX séries 1000.
Vous l’aurez peut être remarqué, mais nous avons parlé fréquence de fonctionnement, amélioration d’architecture, mémoire HBM2… Pour autant, la question de l’efficacité énergétique n’a pas encore été abordée. C’est sans doute parce qu’AMD en a très peu dit sur le sujet, ne mentionnant sur cet aspect qu’un nouveau microcontrôleur chargé d’offrir une gestion plus fine de la consommation de la carte, et laissant supposer qu’il n’a pas représenté un axe de développement majeur sur cette génération. Les chiffres nous diront dans les pages qui suivent si c’est le cas ou non, mais on pourrait d’ores et déjà s'en inquiéter. En effet, sur les cartes graphiques d’entrée ou de moyenne gamme, la question de l’efficacité énergétique reste une affaire de compromis, et nous avons pu le constater : malgré la faiblesse des cartes RX 580 ou 570 sur ce plan, cela n’a pas empêché AMD de proposer des solutions relativement cohérentes face aux GTX 1060. En revanche, face aux GTX 1070 et 1080, il n’est plus question de compromis, mais de chercher la performance maximale. Une performance qui rencontrera rapidement les limites d’alimentation de la carte, si l’efficacité énergétique ne suit pas. Les cartes, justement, il est plus que temps de partir à leur découverte dans la page suivante de ce dossier.