AMD Threadripper 1950X et 1920X en test : Quelque chose d'Epyc !

Publié le 10/08/2017 par
Imprimer

Utiliser deux dies qui disposent de leurs propres canaux mémoires veut dire qu'il faudra, à un moment ou un autre, que des données stockées dans des barrettes placées sur un die transitent jusqu'à l'autre. Il existe des protocoles pour gérer tout cela, bien entendu.

Mais lorsqu'il s'agit de déterminer exactement sur quelle canal mémoire envoyer les données, les choses sont rapidement plus compliquées, comme nous avions eu l'occasion d'en parler dans ce test d'une plateforme Bi Xeon il y a quelques années.

Un protocole existe, NUMA, pour tenter d'améliorer les choses et qui permet au système d'exploitation de prendre de meilleures décisions en tentant (pour faire simple), de garder les données utilisées par un coeur sur la mémoire la plus proche de lui. Comme toutes les bonnes idées, il y a des contre exemples avec des cas dans lequel les applications sont légèrement plus lentes. AMD a donc décidé, par défaut, de ne pas activer NUMA et de répartir uniformément des données sur les canaux mémoires sans tentatives d'optimisation. L'avantage est que théoriquement, on profite de plus de bande passante mémoire mais à l'inverse, la latence mémoire va être variable (elle est significativement plus élevée lorsque l'on accède des barrettes mémoires de « l'autre » die, d'environ 55ns selon AMD).

Il reste cependant possible d'activer le mode NUMA (qu'AMD appelle mode mémoire local) si l'on le souhaite dans le BIOS, nous avons donc comparé les performances entre les deux modes. Notez que pour les résultats que vous trouverez sur cette page, nous avons utilisé la carte mère d'Asus, plusieurs bugs empêchaient en effet d'utiliser Ryzen Master avec la Gigabyte (nécessaire pour le test suivant, un peu de patience !). Voici les résultats que nous avons obtenus, nous comparons le 1950X en mode UMA (distributed) et NUMA (local), d'abord avec les applications (nous calculons un indice 100 pour le mode par défaut) :


Certaines applications n'aiment pas du tout le mode NUMA, c'est le cas, on avait pu le voir précédemment, des outils de compression comme 7-Zip et WinRAR. Ce qui est beaucoup plus surprenant, c'est de voir le score de Lightroom, un logiciel qui certes nous a habitués à des performances assez aléatoires sous Ryzen, mais qui ici se comporte particulièrement mal. Les applications et le rendu 3D profitent par contre plutôt bien de NUMA mais sur notre moyenne, même si l'on retirait Lightroom, le mode classique resterait 3% devant.

Regardons maintenant ce qui se passe dans les jeux :


On note qu'en fonction des jeux, les résultats sont assez variables. TotalWar perd massivement en performances en mode NUMA, tandis que la plupart des autres jeux voient des gaisn, c'est le cas de Watch Dogs 2 avec 5% et Project Cars avec 12% par exemple. En moyenne sur notre panel, l'écart est de moins d'un pourcent.

Un mode jeu… pour le jeu

Avoir plus de coeurs est rarement une bonne affaire pour le jeu passé un certain seuil, et qui plus est l'architecture mémoire partagée n'est en général pas véritablement bénéfique à ce type d'applications. Pour compenser cela, AMD a décidé de mettre en place un mode jeu qui effectue un certain nombre de changements drastiques :

  • passage de la mémoire en mode NUMA
  • désactivation des coeurs d'un die

Le passage en mode jeu s'effectue sous Ryzen Master via un profil crée pour cela, on peut repasser dans le mode normal en choisissant le mode « création ». Passer d'un mode à l'autre nécessite cependant un redémarrage, ce qui est plutôt ennuyeux. La manière dont les coeurs d'un die sont désactivés est assez particulière puisque Ryzen Master utilise bcdedit  avec la commande /set numproc. AMD garde le SMT actif dans ce mode.


Le game mode active le "Legacy Compatibility Mode", qui manipule les coeurs actifs via bcdedit ! Les curieux verront un "Extreme Software Application", ce dernier n'est pas modifiable manuellement, semble activé en permanence, et nous n'avons pas de définition exacte sur son fonctionnement (plusieurs, contradictoires, nous ont été données nous nous abstiendrons d'en dire plus !)

Selon AMD, l'idée est de proposer un niveau de performance qui soit au moins équivalent à celui d'un 1800X pour le 1950X. Voyons ce que nous avons mesuré en pratique, nous calculons l'indice 100 sur les performances du Ryzen 7 1800X :


On peut voir qu'en général, Threadripper fait moins bien dans les jeux qu'un 1800X ce qui ne surprendra pas grand monde. Nous aurons l'occasion d'y revenir en détail. Cependant l'activation du mode jeu permet de limiter la casse et retrouver quasi exactement les performances d'un Ryzen 7 1800X ce qui est assez correct.

On pourra toujours râler sur le fait qu'il faille en passer par là mais étant donné le design choisi par AMD pour cette puce, qui ne vise pas particulièrement le monde des joueurs (nous vous renvoyons à la conclusion de notre article sur Skylake-X) on pourra toujours se satisfaire que l'option ait le mérite d'exister !

Vos réactions

Top articles