AMD Radeon R9 Fury X : le GPU Fiji et sa mémoire HBM en test

Publié le 24/06/2015 (Mise à jour le 02/07/2015) par
Imprimer
Fiji : 8.9 milliards de transistors
Le GPU Fiji d'AMD est une puce énorme, conçue dans le même esprit que le GPU GM200 de Nvidia, à savoir proposer un maximum de performances dans les jeux tout en restant sur le procédé de fabrication 28nm.

Fiji : 8.9 milliards de transistors pour 598 mm²
Hawaii : 6.2 milliards de transistors pour 438 mm²
Tonga : 5.0 milliards de transistors pour 368 mm²
GM200 : 8.0 milliards de transistors pour 601 mm²
GM204 : 5.2 milliards de transistors pour 398 mm²

Ce n'est pas un hasard si Fiji et le GM200 sont des puces de tailles similaires, elles s'approchent en fait du maximum autorisé par la technologie actuelle. A noter que les puces d'AMD affichent une densité de transistors légèrement supérieure ce qui peut s'expliquer par l'utilisation de règles de design différentes, par une proportion plus importante de mémoire (généralement plus dense) dans les GPU GCN, ou encore par un calcul différent du nombre de transistors, puisque ce dernier est approximatif et obtenu par conversion.


Fiji mesure à peu près 23x26mm, c'est un petit peu plus que ce à quoi nous nous attendions sur base des premières illustrations d'AMD qui n'étaient pas tout à fait correctes. L'interposer, soit le morceau de silicium qui permet d'interconnecter le GPU Fiji et la mémoire HBM, mesure quant à lui à peu près 36x28mm soit 1011 mm². C'est énorme et là aussi proche des limites de ce que permettent les technologies de fabrication actuelles, selon ce que nous a indiqué AMD. C'est une des raisons pour lesquelles AMD n'a pas cherché à faire en sorte qu'il soit possible de connecter les puces HBM en 512-bit de manière à pouvoir en connecter 8 à Fiji qui aurait ainsi pu passer à 8 Go. L'espace est limité et cher sur un interposer.

L'augmentation du nombre de transistors par rapport à Hawaii permet bien entendu d'intégrer le sous-système mémoire capable de piloter le bus 4096-bit lié à la mémoire HBM. Rappelons que le principe de la mémoire HBM est de réduire la fréquence du bus tout en augmentant fortement sa largeur, ce qui permet d'améliorer l'efficacité énergétique mais exige l'utilisation d'un interposer puisqu'il n'est pas possible de tracer un tel bus directement sur un PCB. Vous pourrez retrouver plus d'informations à ce sujet dans notre focus consacré à la mémoire HBM.

Voici un résumé des caractéristiques de tous les GPU de la famille GCN :

Oland : GCN 1.0, 6 CU, 1 triangle par cycle, 8 ROP, L2 256 Ko, 128 bits
Cape Verde : GCN 1.0, 10 CU, 1 triangle par cycle, 16 ROP, L2 512 Ko, 128 bits
Bonaire : GCN 1.1, 14 CU, 2 triangles par cycle, 16 ROP, L2 512 Ko, 128 bits
Pitcairn : GCN 1.0, 20 CU, 2 triangles par cycle, 32 ROP, L2 512 Ko, 256 bits
Tahiti : GCN 1.0, 32 CU, 2 triangles par cycle, 32 ROP, L2 768 Ko, 384 bits
Tonga : GCN 1.2, 32 CU, 4 triangles par cycle, 32 ROP, L2 768 Ko (?), 384 bits
Hawaii : GCN 1.1, 44 CU, 4 triangles par cycle, 64 ROP, L2 1024 Ko, 512 bits
Fiji : GCN 1.2, 64 CU, 4 triangles par cycle, 64 ROP, L2 2048 Ko, 4096 bits HBM

Voici ce que cela donne en image pour Hawaii et Fiji :


[ Fiji ]  [ Hawaii ]  


Les transistors de plus servent principalement à faire exploser le nombre d'unités de calcul. Elles passent à 4096, à comparer aux 2048 de Tonga ou aux 2816 d'Hawaii. Ces 4096 unités sont réparties dans 64 Compute Units (CU), elles-mêmes réparties dans 4 Shader Engines. Ce nombre est similaire pour Tonga et Hawaii, ce qui signifie que les débits bruts de Fiji en termes de triangles par seconde, avec ou sans tessellation, n'augmentent pas. AMD nous a confirmé que Fiji partage à ce niveau le même design que Tonga.

Le nombre de ROP reste à 64, comme pour Hawaii. Autrement dit, le débit de pixels n'augmente pas non plus. AMD nous a expliqué que ses simulations avaient montré qu'il était plus intéressant sur le plan des performances de se concentrer sur les unités de calcul, alors que pousser le nombre de ROP, ce qui signifiait probablement passer de 64 à 128, aurait eu un coût important en termes de transistors, pour un gain au final moindre. Difficile cependant de ne pas penser que cela déséquilibre Fiji et que l'architecture GCN commence à montrer ses limites en termes de possibilités d'organisation interne.

Malgré cela, pour pouvoir passer à 4096 unités de calcul, AMD a dû simplifier le design des CU par rapport à Hawaii. Il s'agit en fait de CU identiques à ceux de Tonga, soit en GCN "1.2", et qui ne supportent donc pas le calcul rapide en double précision. Là où Hawaii peut tourner en demi-vitesse en DP, Tonga et Fiji se contentent de 1/16ème. Fiji n'est donc pas un GPU polyvalent envers le monde professionnel, même si un dérivé FirePro pour certains usages spécifiques n'est pas exclu.

Le bus mémoire de 4096-bit est organisé autour de 8 contrôleurs bidirectionnels 512-bit. Chacun de ceux-ci accède à 4 des canaux 128-bit proposés par la mémoire HBM. Etant donné que ces canaux fonctionnent de manière asynchrone, ceux qui ne sont pas en train de transmettre des données sont automatiquement en standby, ce qui participe aux économies d'énergie. Nous ne savons pas par contre si en mode 2D AMD fait en sorte de n'utiliser qu'un nombre réduit de ces canaux.

AMD indique que les 8 contrôleurs 512-bit HBM de Fiji occupent moins de place sur la puce que les 8 contrôleurs 64-bit GDDR5 de Hawaii, la fréquence plus faible et la proximité des puces HBM permettent de simplifier le design.

Pour accompagner le bus 4096-bit, AMD a intégré 2 Mo de cache L2, contre 1 Mo sur Hawaii. La bande passante de ce cache L2 n'évolue cependant pas, et reste à un peu plus de 1 To/s. A noter que de son côté, Nvidia a opté pour 3 Mo sur le GM200. Une tendance générale à la hausse qui est peut-être liée à l'utilisation de techniques de compression toujours plus avancées, qui demandent probablement de conserver localement un maximum de données décompressées.


GCN 1.2
Officiellement, AMD ne différencie pas les différentes itérations de son architecture GCN. Il y a du GCN, du GCN un peu vieux et du GCN un peu nouveau. Pas très pratique pour s'y retrouver… Même s'il ne s'agit pas d'une forme sous laquelle communique AMD, nous préférons de notre côté parler de GCN 1.0 pour les premiers GPU de la famille, de GCN 1.1 pour Hawaii et Bonaire et de GCN 1.2 pour Tonga.


AMD donne très peu de détails sur les nouveautés liées à GCN 1.2. Il est tout d'abord question d'une amélioration des performances en tessellation, un argument qui semble devenu obligatoire dans toutes les présentations de GPU. De notre côté nous n'avons pas remarqué d'évolution marquante. Ces optimisations ont probablement été mises en place pour limiter l'engorgement du GPU dans des cas spécifiques.

Ensuite, pour faire face à la réduction de la bande passante mémoire, AMD a mis en place de nouveaux algorithmes de compression sans perte du framebuffer. Plus spécifiquement, il s'agit de codage différentiel pour les couleurs, également appelé compression delta. Nvidia exploite également cette technique sur ses GPU Maxwell 2.

Le principe de base consiste à ne pas enregistrer directement la couleur mais sa différence par rapport à une autre. Ce n'est bien entendu utile que quand l'écart entre deux couleurs est suffisamment faible, de manière à ce que cette information représente moins de bits que la couleur en elle-même. Ce support a dû être intégré au niveau des ROP et peut-être au niveau des unités de texturing, de manière à ce qu'elles soient capables de lires ces nouveaux formats de données.

En associant cette compression plus efficace du framebuffer à la mémoire HBM, Fiji profite d'une bande passante mémoire effective très élevée. De quoi accentuer notre interrogation quant à son nombre de ROP limité. Dans cette configuration, Fiji peut-il réellement tirer pleinement partie de la bande passante à sa disposition ?

A noter que comme Nvidia avec les GPU Maxwell, AMD a fait l'impasse sur la compression des textures ASTC pour ses GPU GCN 1.2. Nvidia nous avait expliqué que le coût de cette technologie était encore trop élevé au niveau des unités de texturing et n'avait pas de sens dans le cadre de gros GPU.

Avec GCN 1.2, AMD a mis à jour le jeu d'instruction du GPU. Il est question de nouvelles instructions 16-bit, autant en entier qu'en flottants. Une précision moindre qui permet potentiellement des gains d'énergie, suivant son implémentation. La précision 16-bit est avant tout exploitée dans le monde mobile mais elle pourrait également permettre de rendre plus efficaces certains algorithmes de traitement vidéo. D'autres instructions ont été ajoutées, dédiées aux échanges de données entre threads, pour réduire les accès à la mémoire partagée, ce que Nvidia fait également sur ses derniers GPU.

De notre côté, en observant le code compilé, nous avons pu remarquer que le support de quelques instructions semble avoir été supprimé (les fmac sont par exemple remplacés par des fmad), probablement parce qu'elles ne sont plus très utiles. Le code compilé est dans bien des cas constitué de légèrement moins d'instructions, ce qui peut potentiellement le rendre plus performant sur Tonga.

Comme toutes les puces GCN "1.1 et 1.2", Fiji support le niveau de fonctionnalité matérielle 12_0 de Direct3D, mais fait l'impasse sur le niveau 12_1 supporté par les GPU Nvidia Maxwell de seconde génération. Par contre, au niveau de l'autre niveau de spécification important de Direct3D12, les "Binding Resources" (le nombre de ressources à dispositions des développeurs), Fiji est au niveau maximum, Tier 3, là où les GPU Nvidia sont limités au niveau Tier 2. Autant AMD que Nvidia ont ainsi l'opportunité de proposer aux développeurs des effets graphiques qui seraient incompatibles avec le matériel de l'autre.


Pas de HDMI 2.0
Petite nouveauté sur le plan de l'architecture par rapport à Tonga, le moteur vidéo UVD évolue et supporte le décodage matériel du H.265 (HEVC), comme sur l'APU Carrizo.

Par contre AMD n'a pas mis à jour son moteur de gestion des sorties vidéo et Fiji ne supporte pas le HDMI 2.0. Une connectique pourtant généralement nécessaire pour jouer sur une TV 4K en 60 Hz, peu de modèles intégrant une entrée DisplayPort. Plus qu'incohérent sur ce point, AMD met en avant l'intégration de Fiji dans des mini-PC mais explique qu'en fait un GPU haut de gamme n'est pas réellement adapté au salon… Face à la concurrence dont les derniers produits supportent tous cette connectique, il ne s'agit malheureusement pas d'une absence anecdotique.

Des adaptateurs DisplayPort vers HDMI 2.0 seront proposés sous peu, mais ils ne permettront probablement pas de support le DRM HDCP 2.2, voué à se généraliser pour le contenu 4K, qu'il s'agisse de Blu-Ray UHD ou de streaming.
Vos réactions

Top articles