COMPTOIR
register

×

Les gains du 12 nm

Test • AMD Ryzen Threadripper 2950X / 2990WX
Les gains du 12 nm
Interconnections die au sein du TR 2950X
Interconnections die au sein du TR 2990X
Fonctionnement mémoire UMA
Fonctionnement mémoire NUMA
Latence UMA vs NUMA
precision boost2 2950x t
precision boost2 2990wx t
x399 t

• Ryzen Threadripper 2

Ces nouveaux CPU Ryzen Threadripper reprennent bien évidemment l'architecture Zen+, une optimisation de Zen original. Nous ne détaillerons donc pas à nouveau cette dernière, pour ceux intéressés, vous pouvez vous référer à ce dossier. Quelques petits rappel sur la stratégie d'AMD pour les Ryzen sont toutefois utiles. AMD s'appuie sur la création d'un nombre très réduit de die pour attaquer la totalité du marché. A l'origine, le premier conçu et fabriqué en 14 nm se nomme Zeppelin, constitué de 8 cœurs, répartis équitablement au sein de 2 modules qu'AMD nomme CPU Complex ou CCX. Au printemps, les rouges ont fait évoluer la fabrication de ce dernier en basculant vers le NODE 12 nm de Global Foundries, permettant des performances accrues pour les transistors, mais une taille identique de ces derniers, tout du moins dans l'itération retenue par AMD.

 

Les gains du 12 nm [cliquer pour agrandir]

 Les gains apportés par le 12 nm selon AMD

 

Voilà pour l'état des lieux. Afin de segmenter sa gamme, AMD a pu désactiver plus ou moins de cœurs ou cache L3 afin de positionner chaque processeur au sein de celle-ci. Par contre, comment diable proposer quelque chose de plus performant qu'un die Zeppelin complet et à ses fréquences maximales ? La solution la plus élégante serait de concevoir un nouveau die comprenant non pas 2 CCX mais 4 par exemple. Problème, les masques pour graver une telle puce coûtent une fortune, tout comme la production en elle-même (moins de dies par Wafer), ce qui ne correspond pas à l'approche stratégique retenue par la société, qui a opté pour une solution plus simple : "réunir" plusieurs dies au sein d'un même packaging afin d'obtenir un CPU plus large ! AMD ajoute que les 5 meilleurs pourcents des die produits, sont destinés à devenir des Threadripper.

 

Il restait tout de même à trouver une solution pour connecter les dies entre eux. Rien de plus facile lorsque l'on dispose d'une interface à tout faire, vous vous rappelez, la fameuse Infinity Fabric. C'est par ce biais que le concepteur rouge a créé ses Epyc, utilisant pas moins de 4 dies en leur sein. De quoi proposer des CPU serveurs adaptés au traitement massivement parallèle, avec jusqu'à 32 cœurs actifs, 8 canaux mémoire et  128 lignes PCIe. Threadripper reprend cette structure de base, ce qui permet de les incorporer au sein du process pour Epyc, avec quelques ajustements selon le modèle. Ainsi, dans le cas des TR 2950X ou 2920X (mais aussi 1950X/1920X), seuls 2 die sur 4 sont activés. Ils communiquent bien-sûr entre-eux par le biais de l'Infinity Fabric, capable dans ce cas de débiter 50 Go/s, de manière bi-directionnelle.

 

Interconnections die au sein du TR 2950X [cliquer pour agrandir]

Liens entre die au sein du Threadripper 2950X

 

Dans le cas des TR 2990WX (et 2970WX), les 4 die sont cette fois actifs, toutefois les contrôleurs mémoire de deux d'entre-eux sont désactivés pour conserver la compatibilité avec le câblage des cartes mères TR4 existantes (et probablement laisser un avantage aux plus onéreux/rentables Epyc). Il en est de même pour les lignes PCIe de ces mêmes die. En conséquence, lorsque ces derniers ont besoin d'accéder à la mémoire ou au PCIe, ils sont contraints de le faire via l'Infinity Fabric. Nous nous retrouvons donc systématiquement dans un régime d'accès non uniforme à la mémoire (vu cette asymétrie) nommé NUMA (Non Uniform Memory Access). Ce n'est pas sans conséquence d'un point de vue performance. De plus, 4 die implique que chacun puisse communiquer individuellement avec les 3 autres, ce qui conduit à la création de 6 liens dédiés, alors qu'un seul était nécessaire avec 2 die actifs. La bande passante disponible entre-eux est donc divisée par 2 (25 Go/s bi-directionnel) d'après AMD. 

 

Interconnections die au sein du TR 2990X [cliquer pour agrandir]

 Liens entre die au sein du Threadripper 2990WX

 

Dans un TR 2950X, chaque die actif dispose de son propre contrôleur mémoire (2 canaux), en conséquence la gestion mémoire peut cette fois adopter 2 modes différents. D'une part l'UMA (Uniform Memory Access) qu'AMD nomme Distributed et qui permet à chaque cœur d'accéder de manière uniforme à l'intégralité de l'espace mémoire, que ce dernier soit stocké sur un canal liés au die exécutant le processus comme sur l'autre, AMD évoque un ratio jusqu'à 1,6 pour la latence entre ces 2 cas. La bande passante est par contre généralement supérieure à celle obtenue en NUMA, du fait d'un accès plus large à la mémoire. C'est ce mode qui est actif par défaut.

 

Fonctionnement mémoire UMA [cliquer pour agrandir]

 

D'autre part, il est possible de passer également en accès non uniforme, afin de privilégier les accès mémoire locaux, différenciant ainsi la mémoire distante (raccordée au contrôleur mémoire de l'autre die) et privilégiant ainsi la latence. Ce mode de fonctionnement, en collaboration avec le système d'exploitation, a pour objectif de tenter d'agencer les données de telle manière, qu'elles soient positionnées sur le canal mémoire géré par le die en ayant besoin. Ce mode NUMA, AMD le nomme Local Mode dans ses présentations ainsi que Ryzen Master.

 

Fonctionnement mémoire NUMA [cliquer pour agrandir]

 

Quels impacts pratiques entre ces 2 modes ? Nous avons expérimenté cela, vous trouverez les résultats dans quelques pages (n°5), toujours est-il qu'AMD fournit les mesures ci-dessous, concernant l'évolution de la bande passante suivant le protocole utilisé et la distribution des processus.

 

Latence UMA vs NUMA [cliquer pour agrandir]

 

Côté support mémoire, AMD reste relativement conservateur puisque pour 8 Slots totalement peuplés, il faut officiellement se contenter de 2133 voire 1866 MHz, selon que les barrettes DDR4 soient Single ou Dual Ranked. C'est tout de même mieux avec 4/8, puisqu'il est possible cette fois d'utiliser de la mémoire à 2666 MHz de manière officielle, et ce quel que soit le nombre de Rank.

 

occupation des slotsranksvitesse supportée
4 sur 4 single 2933 MHz
4 sur 4 dual 2933 MHz
4 sur 8 single 2667 MHz
4 sur 8 dual 2667 MHz
8 sur 8 single 2133 MHz
8 sur 8 dual 1866 MHz

 Le support mémoire officiel selon la configuration

 

Pour tirer le meilleur parti de ses puces, AMD a utilise depuis Raven Ridge, la seconde itération de Precision Boost (la dénomination du turbo maison), qui permet de maintenir de manière opportuniste, une fréquence plus élevée que celle de référence, même au-delà de 2 cœurs sollicités si les conditions le permettent (température, intensité instantanée, etc.). De quoi proposer de fréquences élevées y compris sur des puces conséquentes, si toutefois l'enveloppe thermique allouée n'est pas trop limitante, comme c'était bien souvent le cas sur les premiers Threadripper. 

  

precision boost2 2950x t [cliquer pour agrandir]

Un Turbo plus évolué

 

Le Threadripper 2990WX dispose lui aussi du même mécanisme. Son TDP a été poussé de 180 W (TR 2950X) à 250 W, mais dans le même temps le nombre de cœurs actifs double, ce qui a contraint AMD a baisser les fréquences, nous verrons les conséquences en pratique. A noter que XFR 2 (le Boost opportuniste/supplémentaire qui n'est gouverné que par la température) est bien de la partie pour ces 2 processeurs et apportera quelques gains avec un refroidisseur très efficace et/ou des conditions climatiques plus clémentes (fraîches). 

 

precision boost2 2990wx t [cliquer pour agrandir]

 Le même pour le grand frère (pas de jaloux comme ça !)

 

Finissons par la connectivité permise du fait de l'usage de plusieurs dies au sein de Threadripper. Alors que seules 16 lignes PCIe 3.0 sont disponibles sur un Ryzen pour les ports d'extension, ce chiffre passe à 48 sur Threadripper. En sus, sont disponibles 12 lignes pour les interconnexions type stockage M.2 et 4 pour le chipset X399 qui n'évolue pas avec cette nouvelle génération de processeur. Au final, ce sont pas moins de 64 lignes PCIe qui sont déployées sur un Threadripper, qu'il comporte 2 ou 4 die actifs, puisque AMD n'active pas celles de deux d'entre-eux.

 

x399 t [cliquer pour agrandir]

Lignes PCIe disponibles

 

Maintenant que nous avons rapidement décrit Threadripper de seconde génération, passons page suivante aux processeurs reçus pour illustrer le comportement de cette nouvelle gamme.



Un poil avant ?

L'IA et le hardware : et si tout était à recommencer ?

Un peu plus tard ...

Hard du hard • Condensateur d’alimentation, une histoire de taille

Les 58 ragots
Les ragots sont actuellement
pour éviter les trolls des fanboys ...ouverts aux ragoteurs logués
par Anth0x, le Mercredi 03 Octobre 2018 à 10h31  
Tout ça pour dire que au final Intel reste toujours plus cher et meilleur en gaming

Après l'hiver arrive les gens prendront peut être des AMD pour la raclette
par Cristallix, le Jeudi 23 Août 2018 à 22h27  
Bravo pour ton énorme dossier qui a nécessité un gros boulot !!

J'suis impressionné par la consommation OC du 2990WX
Par contre non oc par rapport à Intel le rendement est bon. Bravo à AMD
par le breton old school, le Dimanche 19 Août 2018 à 10h15  
par Jemporte le Vendredi 17 Août 2018 à 21h40
Intel, avec 18 coeurs plus lents en fréquence, fait souvent mieux qu'AMD avec 32 coeurs relevant d'un assemblage relevant du système D, à 250W de TDP. Pas vraiment efficace l'Infinty Fabric.
Maintenant, pour certaines tâches et à un prix finalement un peu moindre seulement, ça fait l'affaire face à la solution plus élégante d'Intel.
Comme l'a dit Eric, tout dépend de l'usage qu'on veut en faire, et il répond bien mieux que le concurrent sur certains usages.
Et puis si t'es pro 'un tel' , tant mieux aussi puisqu'AMD le pousse à sortir du bois.
par Jemporte, le Vendredi 17 Août 2018 à 21h40  
Intel, avec 18 coeurs plus lents en fréquence, fait souvent mieux qu'AMD avec 32 coeurs relevant d'un assemblage relevant du système D, à 250W de TDP. Pas vraiment efficace l'Infinty Fabric.
Maintenant, pour certaines tâches et à un prix finalement un peu moindre seulement, ça fait l'affaire face à la solution plus élégante d'Intel.
par skazar, le Mardi 14 Août 2018 à 18h02  
En fait c etait juste pour le fun
par fansyl, le Mardi 14 Août 2018 à 12h06  
Clairement, la nouvelle génération Epyc s'affranchira de ces problèmes de contrôleur mémoire grâce aux 8 canaux disponibles, vivement !
par Eric B., le Mardi 14 Août 2018 à 10h15  
Oui je n'en doute pas, mais nos tests sont calibrés pour justement éviter au maximum les limitations liées à la quantité de mémoire (on ne peut pas atteindre de telles capacités sur toutes les plateformes à tester), d'où ma remarque. Tester notre protocole avec tes 64 Go n'y changerait pas grand-chose à la variation près du type de barrette.
par fabtech, le Mardi 14 Août 2018 à 10h00  
par Eric B. le Mardi 14 Août 2018 à 09h49
Non désolé. Après les tests sont un minimum détaillés, rien n'empêche de faire quelque chose d'approchant. Après, je ne suis pas sûr que 64 Go changerait grand-chose à nos résultats, si ce n'est les gains liés aux barrettes dual ranked si tu utilises 4 x 16 Go.
Avec 64Go j'ai presque doublé la vitesse de rendu d'un projet sous After Effects par rapport à 32Go avec mon 6950x.
Les tests sont un peu biaisé ici car pour bien exploiter son CPU avec After Effects, il faut calculer au minimum 1 à 2Go de ram par Thread pour commencer à tirer le maximum de son CPU.
par Eric B., le Mardi 14 Août 2018 à 09h49  
Non désolé. Après les tests sont un minimum détaillés, rien n'empêche de faire quelque chose d'approchant. Après, je ne suis pas sûr que 64 Go changerait grand-chose à nos résultats, si ce n'est les gains liés aux barrettes dual ranked si tu utilises 4 x 16 Go.
par skazar, le Mardi 14 Août 2018 à 09h05  
votre protocole de test est disponible?
je le ferais bien essayer à ma machine
1950x+64go
par Eric B., le Lundi 13 Août 2018 à 21h45  
J'ai édité légèrement depuis ta citation, mais tu as raison cette pénalité risque de perdurer si la plateforme n'évolue pas et qu'AMD conserve cette approche de multiplier les dies au sein d'un même packaging. Pour la seconde question, je ne suis pas architecte CPU, mais cela me parait difficile de résoudre simplement la problématique posée par cette configuration asymétrique. Après, on peut tout imaginer dans le futur, comme des die avec plus de coeurs, mais toujours deux canaux mémoire et revenir ainsi à une configuration moins "bancale" façon série X (2 die), tout en dépassant 16 coeurs et conservant la compatibilité. (c'est purement hypothétique afin d'illustrer mon propos et ne repose sur rien de concret).
par Krenian, le Lundi 13 Août 2018 à 21h33  
par Eric B. le Lundi 13 Août 2018 à 21h18
Oui en partie, ce côté bi-polaire de la configuration de la puce peut générer des pénalités importantes pour certaines tâches du fait d'un accès non uniforme à la mémoire. L'idéal eut été d'activer au moins un canal par die et 16 lignes PCIe si AMD souhaitait a tout prix garder un avantage aux Epyc, malheureusement ça voulait dire que le câblage des cartes mères TR4 existantes devenait incompatible, nécessitant de les remplacer (il en aurait été de même si les 8 canaux mémoires et 128 lignes PCIe étaient activés). C'est plutôt dur à faire passer comme pilule. Je pense qu'à l'origine AMD ne souhaitait pas forcément aller au-delà de 2 die / 16 coeurs, c'est pourquoi la situation actuelle n'a pas été anticipée, mais que ne ferait-on pas pour coller un caillou dans la chaussure du concurrent.
Mais si AMD compte garder pendant longtemps cette rétrocompatibilité sur le THDG, ça veut dire que les générations futures seront toujours handicapées par cette pénalité ?
Ou est-il possible de retravailler l'ensemble mémoire pour obtenir un résultat satisfaisant (Zen 2 par exemple) ?