Le Ryzen 5800X3D est une drôle de bestiole.
Un Ryzen qui embarque une quantité brutale de cache L3, qui est partagé entre tous les coeurs sur les 5000+, avec en contrepartie une baisse de boost max à 4.5Ghz et des températures un peu plus sauvages.
Il est moins bon que le 5800X dans pratiquement tous les benchmarks synthétiques. En fait, son énorme sac de cache n'est utile que dans les applications qui réalisent énormément de lectures mémoire, et ces applications sont rares. Sauf si on considère la plupart des moteurs de jeu. Qui font exactement ça: plein de lectures mémoire.
Alors, oui, les Ryzen 7000 et Intel 13xxx avec de la DDR5 sont équivalents voire meilleurs en jeu (en grande partie parce que leur mémoire est significativement plus rapide) mais ils consomment aussi entre 1.5 et 2 fois plus dans les mêmes conditions à une époque où l'électricité en Belgique est parmi les plus chères d'Europe.
Pour moi le choix de rester sur AM4 plutôt que de passer sur AM5 est évident (d'ailleurs la DDR5 consomme aussi un peu plus d'énergie) d'autant plus que le 5800X3D est considéré comme le meilleur processeur pour un vieux MMO vaguement obscur auquel je joue pas mal (Guild Wars 2).
Quoi qu'il en soit, c'est à ce jour le seul processeur AMD a bénéficier de cette technologie 3D Vcache et, comme on aurait pu s'en douter, il se comporte un peu comme un ovni et est configuré de base pour se tirer dans le pied en consommant plus qu'il ne doit.
J'ai décidé de sortir une petite note rapide (lol) sur mes trouvailles.
Quand j'étais petit (à l'époque des CD-ROM, quoi) pour overclock un processeur, on augmentait sa fréquence et ça nous obligeait souvent à aussi augmenter son voltage pour que tout reste stable.
Ici non seulement on peut pas overclock le 5800X3D pour... Des raisons... Mais en plus il s'agit d'essayer de lui mettre moins de voltage pour qu'il soit plus performant. Mais pas n'importe comment.
Oui je comprends rien non plus.
Avant de commencer
Mettez votre BIOS à jour vers la toute dernière version (à récupérer sur la page de téléchargement de votre carte mère).
Il y a encore eu des améliorations liées au 5800X3D très récemment, donc c'est très important.
Installez les derniers drivers de votre chipset, à chopper sur le site d'AMD selon que ça soit du X570 ou B550. Bien s'assurer ensuite que votre plan d'alimentation est celui de Windows, "balanced" ou "high performance", et pas un des plans d'AMD.
Equippez-vous des habituels logiciels de stats et tests et benchmarks:
- CPU-Z pour son benchmark simple et multi-coeurs qui-dure-pas-longtemps, très pratique pour rapidement évaluer les progrès ou régressions;
- hwinfo64 ou équivalent pour surveiller les témpératures, fréquences, et voltages;
- Ryzen Master - Permet juste de facilement voir quels coeurs sont considérés comme les meilleurs parce que ça pourrait nous servir plus tard; Ryzen Master permet aussi de tripoter le CO (CURVE OPTIMIZER) qui est un peu le sujet de cet article mais nous on va faire autrement;
- Cinebench R23 - Un benchmark mult-coeur long pour vérifier que rien n'explose dans ce (relativement rare) cas de figure;
- OCCT - Pour vérifier la stabilité du BAZAAR.
Tests initiaux
En état de base je montais à 90° relativement vite pendant un tour de Cinebench. Je me souviens plus des voltages mais c'était quelque part au delà de 1.2V.
Les coeurs tournaient autour de 4150Mhz et le score final n'était quelque part dans le bas de 14000.
Les scores CPU-Z étaient aussi dans la moyenne mais rien de très intéressant et ça chauffe aussi comme l'enfer — j'ai un Noctua NH-U12A qui gardait mon 3900X sous contrôle ad vitam eternamibus avec 150W de consommation.
Le 5800X3D consomme moins que ça. Mais c'est normal qu'il chauffe il a une couche de cache entre les coeurs et le bouclier thermique qui fout la merde.
Premier tour d'optimisation
Des gens ont découvert que certaines options de BIOS amélioraient les scores de benchmark. Est-ce que ça change quelque chose de détectable en pratique (entendre, en jeu)? Non.
Du coup on s'en fout un peu mais bon, autant aller jusqu'au bout des choses n'est-ce pas?
Les éléments à changer dans le setup BIOS sont dans le menu "AMD CBS" qui devrait être quelque part dans "avancé" ou "OC":
- AMD CBS > NBIO > SMU > CPPC Enabled
- AMD CBS > NBIO > SMU > CPPC Preferred Cores Disabled
- AMD CBS > CPU > Global C-State Control Enabled
J'ai un BIOS Asus et ces options se trouvent là dedans:
Vous devriez déjà avoir gagné un peu de score dans les bench CPU-Z et Cinebench.
Undervolting
La manière "normale" d'undervolt un processeur consiste à indiquer au BIOS d'appliquer un "offset" négatif sur toutes les demandes de voltage.
En effet, les Ryzen (et la plupart des processeurs) utilisent un régulateur de tension qui est sur la carte mère, auquel ils demandent ce dont ils ont besoin.
Rien n'interdit à la carte mère de leur donner autre chose; C'est pas très sympa mais ça peut parfois être intéressant.
Sauf chez les Ryzen en règle générale... J'en parlais dans mon article à propos du 3900X, l'undervolt a tendance à causer du clock stretching qui dégrade assez significativement les performances.
Même sans clock stretching, le processeur devrait booster moins haut en fréquence parce qu'il a une table interne de correpondances entre fréquences et un certain niveau de voltage minimum.
Donc c'est nul. A part que ça baisse effectivement les températures. Si c'est juste ça qui vous intéresse, vous pouvez undervolt le 5800X3D avec un offset négatif. Je conseille l'incrément minimum x1 ou x2.
Les performances en jeu devraient être à peu près identiques pour une baisse de température. Par contre il y a de forte chance que vous ne voyiez plus la fréquence de boost max (ici 4.55Ghz):

J'avais un undervolt pour mon 3900X que j'ai fini par retirer, ça changeait presque rien et baissait légèrement mes performances single-thread. Je déconseille.
La chance pour nous, il y a une autre solution!
Curve Optimizer
Les Ryzen 5000 offrent la possibilité d'altérer cette fameuse "table" de correspondance voltage/fréquence ou euh... Ouais. Un truc du genre.
C'est souvent abbrévié "CO" (pour Curve Optimizer) sur les forums.
En gros on peut spécifier une valeur positive ou négative pour tous les coeurs ou par coeur spécifique qui modifiera les voltages demandés par le processeur en influençant ses budgets puissance par la même occasion, ce qui devrait lui permettre de booster plus haut.
Apparemment les autres Ryzen 5000 ont du mal à être stables avec une valeur négative mais le 5800X3D est une exception.
Sans doute parce qu'il monte moins haut en fréquence et peut-être parce que le silicium est de meilleure qualité sur ces puces.
Dans des guides qu'on peut trouver en ligne ils conseillent de télécharger un programme obscur (et étrangement difficile à trouver) pour appliquer les valeurs de CO depuis Windows.
Ils créent ensuite une vieille tâche planifiée Windows qui applique les valeurs à chaque démarrage.
Les dernières versions de Ryzen Master devraient avoir les mêmes fonctionnalités.
Si comme moi vous trouvez ça un peu triste, il y a des chances que vous puissez appliquer une modification CO depuis votre setup BIOS, comme on a toujours fait, nous, les vieux.
Ca se passe dans les options de PBO:
Il devrait ensuite y avoir un menu "Curve Optimizer":
Moi je l'ai juste mis en "All cores" et j'ai bourré -30 comme UN GROS BARBARE:
Il y a des gens qui conseillent de commencer à -15 et vérifier si tout est stable mais nous on est des guerriers OK?
J'ai cru comprendre que sur les cartes mères MSI ça s'appelle KOMBO STRIKE ou un autre nom cringe du même acabit et c'est en niveaux au lieu de valeur négative qui va bien mais le résultat devrait être le même: un des niveaux correspond à CO -30 pour tous les coeurs.
Après un bon gros reboot des familles, relancez tous les benchmarks pour vérifier que rien ne plante et que les scores ont augmenté.
Les voltages (et du coup les températures) devraient avoir baissé.
Mon score Cinebench R23 passe à un peu plus de 15000, avec des températures autour de sous contrôle autour de 80° malgré des fréquences de porc soutenues à 4.4Ghz pendant le test, à vrai dire je comprends même pas comment c'est possible.
Et les fréquences/températures/voltages pendant le test:
N'oubliez pas d'aussi tester avec CPU-Z, votre score single-thread devrait aussi augmenter mais pas de beaucoup (le mien tourne autour de 620).
Testez aussi quelques jeux tant qu'à faire, ici dans Guild Wars 2 avec MSI-Afterburner pour le monitoring, dans l'aérodrome de l'arche du lion avec les FPS bloquées à 120 depuis le panneau de contrôle Nvidia:
Avant j'avais entre 4.2 et 4.3Ghz et ça fluctuait. Ceci dit dans les deux cas j'avais un magnifique 120 FPS totalement constant qui fait plaisir surtout que mes options graphiques sont assez élevées.
Du coup, en jeu, tout ce qu'on vient de faire ne change pas grand chose à part que la consommation et les températures baissent et moi c'était ce que je voulais principalement: ~60w contre 71w pour mon 3900X et sûrement +de 100w pour un processeur Intel ou un Ryzen 7000.
Avec mon 3900X j'étais à environ 80 FPS dans les mêmes conditions (sachant que les FPS sont manuellement limités, j'ignore jusqu'où ça irait sur le 5800X3D et je m'en balance un peu) pour donner une idée du gain.
T'es sûr que c'est stable cette affaire?
Alors, non.
C'est théoriquement possible d'avoir les mêmes problèmes de stabilité que l'on pouvait rencontrer en overclock old school si le voltage n'est pas assez élevé.
Première chose à faire, ouvrez votre Event Log (OBSERVATEUR D'EVENEMENTS) et cliquez sur le log "système":
Regardez si vous voyez des erreurs. Si oui, cliquez dessus et vérifier que ce ne sont pas des erreurs de type WHEA (erreurs matérielles). Si vous avez des erreurs WHEA, il y a un truc qui n'est pas stable (peut aussi être votre mémoire vive).
Retour au bios et essayer un offset inférieur à 30 jusqu'à ce que ça passe.
Il est possible de le règler par coeur si vous êtes vraiment chaud. Il apparaît que les "meilleurs" coeurs acceptent moins d'offset que les moisis, donc vous pouvez essayer de leur mettre -10 pour voir si ça aide (laisser -30 aux autres).
Pour identifier vos meilleurs coeurs, vous pouvez ouvrir Ryzen Master et déployer le "CCD0":
Pour tester un peu plus sérieusement la stabilité, les gens disent qu'il faut un travail "léger". Je comprends pas trop pourquoi honnêtement parce que le travail "léger" se prend plus de voltage que le travail lourd, mais ce serait bizarre que tout le monde ait tort sur les forums des zinternets. Je pense.
Quelqu'un a écrit un bidule bizarre qui s'appelle Core Cycler et que vous êtes censés laisser tourner pendant des heures.
Je préfère utiliser OCCT, qui a un mode pour passer d'un coeur à l'autre.
Dans les options de stress test CPU, je choisis ces options (vous pouvez aussi essayer d'autres "instructions set", celui par défaut chauffe pas mal):
Ensuite vous cliquer sur l'engrenage pour accéder aux options avancées, il s'agit de ne cocher qu'un seul coeur (oui c'est pas très clair):
Vous pouvez varier les temps de basculement des threads entre 1 et 10s pour appliquer un stress différent.
Vous devriez ce type d'utilisation dans le gestionnaire des tâches:
N'oubliez pas d'aller jeter un coup d'oeil de temps en temps dans l'observateur d'événement.
Je pense qu'un test tout aussi important est juste d'utiliser l'ordinateur comme d'habitude et noter quelconque comportement étrange.
Conclusion
J'ai pu m'en sortir à l'aise avec un CO de -30 global immédiat mais toutes les cartes mères n'appliquent pas nécessairement le même voltage initial. Il se peut que vous deviez appliquer moins d'offset CO mais ça ne veut pas nécessairement dire que vous aurez moins de performances.
Il faut chaque fois tout re-tester.