Business

Influence du nombre de coeurs et du SMT sur Ryzen

Avec des modles trs proches 8, 6 et 4 coeurs, la gamme Ryzen offre beaucoup de choix. Que font gagner en pratique ces coeurs supplmentaires ? Et quel est l’impact du SMT dans ces situations ? C’est l’occasion de faire un point rapide sur ces questions !

En construisant une gamme large partir d’un die commun, AMD propose des choix qui diffrent un peu de ce que l’on trouve chez la concurrence. Ainsi l o chez Intel on a le choix entre moins de coeurs mais plus rapides (7700K) ou plus de coeurs qui le sont moins (6900K), on trouve des modles 4, 6 et 8 coeurs qui disposent de spcifications quasi identiques sur Ryzen.

Les R7 1800X et R5 1600X ont d’ailleurs strictement les mmes frquences, tandis que celle du 1500X avec plus de deux coeurs actifs ne diffre que de 100 MHz (3.6 GHz contre 3.7 pour les autres en Turbo, la plus utilise). Nous avons donc voulu comparer en pratique les performances de ces trois processeurs dans notre protocole, afin de voir l’impact du nombre de coeurs dans les diffrents jeux et applications.

Nous calculons un indice 100 pour le Ryzen 5 1500X. En thorie, le passage de 4 6 coeurs peut apporter jusque 50% de performances, l’cart thorique maximal entre le 1500X et le 1600X est lgrement plus grand si l’on prend en compte l’cart de frquence (+2,8%). Passer de 6 8 coeurs apporte en thorie 33% de performances en plus. Voyons ce que cela donne en pratique :

Premire remarque, un grand nombre d’applications profitent massivement d’un nombre de coeurs plus lev. Ce n’est pas une surprise, notre protocole applicatif a t conu pour profiter du multithreading mais on trouve un niveau de scaling trs lev, frlant les 50% dans un bon nombre d’applications quand l’on passe de 4 6 coeurs. Stockfish, Komodo et x264 sont celles qui obtiennent le meilleur scaling en gnral.

Trois applications sont part. 7-Zip et WinRAR sont particulirement stressant pour le sous-systme mmoire de Ryzen. Le gain de performances reste respectable mais s’loigne du scaling idal. Lightroom, malgr l’utilisation de deux exports en parallle, ne dcoupe pas assez ses traitements pour tirer pleinement partie d’un nombre de coeurs importants.

En moyenne on retrouve un gain de 44,6% sur l’applicatif entre le 1500X et le 1600X, et de 26.8% entre le 1600X et le 1800X, on est donc proches des valeurs thoriques.

Regardons maintenant ce qui se passe dans les jeux :

Contrairement aux applications, la variabilit est beaucoup plus large ici. Tous les moteurs de jeux sont diffrents mais globalement, les gains sont bien moindres.

Le meilleur scaling sur Ryzen se retrouve dans Total War : Warhammer. Avec son patch 1.6.0 qui corrige la dtection du SMT, on voit que l’on peut gagner 26.9% de performances entre un 1500X et un 1600X, le gain entre le 1600X et le 1800X tant par contre bien plus faible (3.4%). Project Cars est le titre qui profite le moins d’une augmentation du nombre de coeurs, cette dernire peut mme tre bizarrement contre-productive en passant de 6 8 coeurs. Battlefield 1 est l’autre jeu qui profite grandement d’un plus fort nombre de coeurs.

Dans les jeux en moyenne, le 1600X se place comme un bon compromis en permettant de gagner 12.7% de performances par rapport au 1500X, tandis que le passage de 6 8 coeurs est plus marginal, seulement 2.6%.

Un des arguments d’AMD sur les Ryzen 5 est la prsence du SMT, l ou Intel ne propose pas l’HyperThreading sur les Core i5. Nous avons voulu regarder plus prcisment ce que cela apporte en pratique, nous vous rapportons donc les gains obtenus pour ces trois processeurs entre le mode SMT dsactiv, et le mode SMT activ :

Il y a un peu de variabilit dans certains tests mais il y a une tendance assez intressante que l’on peut remarquer : le SMT apporte en moyenne des gains plus larges avec un nombre de coeurs plus rduits. Et ces gains, bien que variables, peuvent tre trs importants. Dans une compilation Visual Studio, on dpasse les 47%, tandis que les IA d’checs gagnent elles aussi plus de 40% sur les modles 4 coeurs.

Les deux logiciels de compression vido ont des comportements qui illustrent assez bien ce que l’on retrouve ailleurs, x264 propose un apport quasi identique du SMT dans les trois cas, tandis que x265, qui est un peu plus limit avec un grand nombre de coeurs avec une source 1080p voit ses gains s’amenuiser.

Lightroom, toujours particulier, fini par perdre des performances entre le mode SMT actif et inactif. Nous nous demandons si Lightroom ne tenterai pas de rpartir lui-mme ses threads sur les coeurs, ce qui pourrait expliquer la trs large variabilit des rsultats que l’on a pu voir sur Ryzen lors de nos benchs s’il ne dtecte pas le SMT correctement.

On termine par les jeux ou l’on regarde l aussi l’impact du SMT sur les trois modles :

Lors de notre test du Ryzen 7 1800X, nous avions not que le SMT n’tait pas particulirement favorable la nouvelle architecture d’AMD dans les jeux. C’est effectivement vrai sur huit coeurs !

Sur quatre coeurs, les gains apports sont assez massifs en comparaison, on rcupre 20% de performances en plus sous Witcher 3, Civilization VI et F1 2016 (ce dernier ne dtecte pas correctement le SMT ce qui amplifie lgrement l’effet).

Beaucoup de titres montrent un effet de pallier dans leurs gains, on peut l’interprter assez facilement : beaucoup de jeux sont capables de rpartir leur charge de manire tirer partie de plus de 4 coeurs, c’est moins le cas au-del de 6 et plus du tout le cas plus de 8.

En moyenne au final on note 14.4% de gains apports par le SMT dans les jeux sur quatre coeurs, qui se rduit 4.6% sur 6 coeurs et une baisse de 1.4% sur huit coeurs.

On peut tirer plusieurs enseignements de ces rsultats. D’abord sur le plan applicatif, comme nous avons pu le voir dans tous nos articles, l’augmentation du nombre de coeurs apporte des gains massifs qui s’approchent presque des gains maximums thoriques dans le cas de Ryzen. Cela vient en grande partie du fait que notre protocole a t volontairement conu autour de logiciels assez fortement multi-threads, mais ces logiciels sont aussi reprsentatifs de nombre d’usages concrets.

Dans les jeux, le gain apport par le nombre de coeurs est plus limit mme si l’on voit que passer de 4 6 coeurs apporte un gain qui est tout sauf anodin. Cela illustre une autre tendance : les moteurs modernes utilisent de mieux en mieux un plus grand nombre de coeurs, ce qui n’a longtemps pas t le cas : auparavant seule la frquence importait. Cette page est enfin tourne mme s’il faudra encore un peu de temps pour voir une encore meilleure utilisation des coeurs supplmentaires.

Il est aussi trs intressant de voir le rle important du SMT. Si sans surprise il augmente assez nettement les performances dans les applications, c’est son rle dans les jeux qui retient notre attention. Il y a quelques annes son intrt se limitait dans ce domaine 2 coeurs mais on se doutait, en regardant l’cart de performances entre un Core i5-7600K et un Core i7-7700K dans notre nouveau protocole, que l’HyperThreading ne jouait plus un rle anodin sur 4 coeurs. Ces mesures dmontrent que l’impact du SMT est dsormais trs net dans ce cas, ce qui indique l aussi que les moteurs de jeux rpartissent de mieux en mieux leur charge entre de multiples threads, mme si l’on regrettera que cela n’volue jamais assez vite puisqu’on aimerait voir les mmes types de gains avec 6 et 8 coeurs !

Source link