COMPTOIR
  
register

Tiger Lake également dans les mains d'Agner Fog : Intel a-t-il tenu ses promesses ?

Après une apparition sur notre bar à l’occasion de son test maison du Ryzen 5800, voilà que le chemin d’Agner Fog, chercheur au Danemark de son état, croise une nouvelle fois celui du comptoir. En effet, suivant son accès aléatoire aux processeurs de « dernière » génération, c’est un Tiger Lake (non explicité) qui s’est retrouvé il y a quelques jours sur le banc de test ; une date finalement pas si mal tombée, puisque l’embargo des tests de Rocket Lake — dont les cœurs partagent la base commune de Sunny Cove — sera levé d’ici quelques jours.

 

11th gen best gpu

Le meilleur, peut-être pas, mais un concentré de technologie, pour sûr !

 

En résumé, Intel a été correct dans ses annonces : le processeur permet effectivement d’effectuer deux chargements mémoires et deux rangements mémoires en parallèle, pour un nombre d'exécution de micro-ops (des blocs élémentaires issus des instructions x86) maximal de 5 (contre 6 sur Zen 3). Pour le front-end, l’histoire se répète, et les bleus n’ont pas réussi mieux que les rouges à outrepasser le goulot d’étranglement de x86 limitant la lecture du code assembleur à hauteur de 16 octets par cycle maximum (soit entre 4 et 8 micro-ops selon la complexité des instructions décodées).

 

Par contre, les bleus conservent un avantage sur les rouges en ce qui concerne le renommage mémoire — une optimisation dont l’intégration a justement été découverte par Agner —, qui reste bel et bien présent sur cette nouvelle fournée de processeurs, alors que le passage à Zen3 en avait eu raison chez les rouges. Mieux, sur Ice Lake et Tiger Lake, le processeur ne spécule même pas sur l’adresse concernée par les données, et ne sera ainsi inactive que si l’adresse n’est pas alignée, qu’un vecteur soit utilisé ou si l’adresse est calculée à partir du program counter ($RIP sur x86).

 

Autre avantage : l’AVX-512 est bel et bien présent et fonctionne à pleine balle (notez des latences particulièrement faibles d’un seul cycle pour les opérations entières et 4 pour les flottants, inchangées par rapport au SSE ou l’AVX1/AVX2), mais au prix d’une fréquence possiblement en throttling afin d’éviter la surchauffe. De la bouche des bleus eux-mêmes, un code AVX-512 peut être plus lent que son homologue AVX2, néanmoins la popularité de cette extension devrait être croissante, autant dire qu’il vaudrait mieux miser sur son support si vous vous attelez à la conception d’un logiciel visant à durer dans le temps. Reste à voir la déclinaison pour PC de bureau - coucou Rocket, c’est bientôt à ton tour de faire la fusée !

 

Un poil avant ?

ASUS aussi adopte le mini-ITX pour la RTX 3060

Un peu plus tard ...

Ventes de jeux vidéo : fin mars bien calme

Les 11 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Jeudi 01 Avril 2021 à 09h01  
 
concernant le renommage mémoire (...) le passage à Zen3 en avait eu raison chez les rouges

Par rapport à cette news, j'étais très dubitatif sur l'argument du "cela a un coût en hardware donc il l'ont retiré". Et bien ces derniers jours AMD a publié un document en rapport à la sécurité (1) et update son "Architecture Programmer's Manual" pour parler d'une nouvelle optimisation nommé "Predictive Store Forwarding" (PSF) dans Zen 3.

Je rappel que le renommage mémoire c'est utile pour faire du Store-to-Load Forwarding (2) avec une latence très faible. Mais la version utilisé dans le Zen2 n'est pas très intelligente, elle tiens juste compte des noms de registre de l'adresse du load et du store: si ça match alors ils forward le Store vers le Load spéculativement.
La nouvelle optimisation de AMD dans Zen3 parle elle d'utiliser un mécanisme de prédiction pour déterminer si il faut forward un Store vers un Load. On ne connais pas bien le détail de ce que fait cette optimisation (à quel niveau est fait le forwarding et donc sa latence) mais pour sûr c'est en relation avec l'optimisation de memory renaming. Et je ne serais pas surpris de voir dans Zen4 ces deux optimisations réunis, ce qui réunirait à la fois du memory renaming et à la fois l'intelligence d'un prédicteur.

(1) security-analysis-predictive-store-forwarding.pdf
(2) Store-to-Load Forwarding: le Store-to-Load Forwarding ou Store Forwarding c'est une optimisation dont le principe est de rediriger la valeur d'un store vers les load à la même adresse avant que l'accès mémoire soit vraiment réalisé/terminé, ce qui permet de réduire la latence entre les Store et Load vers la même adresse
par Un linuxien pas en Île-de-France, le Mercredi 31 Mars 2021 à 08h24  
par Nicolas D., le Mercredi 31 Mars 2021 à 07h46
Ah oui tout à fait, je n'avais pas pensé à ça, pour calculer les bits de parité ca doit très bien fonctionner.
A noter que bien que le log liste RAID6 dans les tests de performances, mon système n'utilise que le RAID5.

 
Niveau performance (et chauffe), ca reste modéré, par rapport à un RAID 1 par exemple ?
Aucune surchauffe: ces instructions AVX2 ne sont exécutées que très peu de temps, en proportion du reste du code du noyau Linux...

 
Vu que l'AVX throttle la fréquence, ca doit pas être glop si on charge tous les coeurs, non ; à moins qu'on soit large sur les core sur ce genre de machine ?
Heureusement, on peut désactiver le détarage (mieux que "throttle" hein ) AVX dans le BIOS...

Mais ce comportement est précisément ce qui me fait braire avec Intel et son AVX de merde, qui ruine les performances plus qu'il ne les améliore, sans compter les problèmes de stabilité dus aux appels violents de courant dans le CPU au moment ou l'AVX s'enclenche sur un nombre variable de coeurs: il faut tester toutes les configurations et tous les cas de figure avec des charges complexes (genre BOINC avec tout AVX et mix de tâches AVX, SSE), et ce pendant des jours entiers, avant de pour pouvoir déclarer un surcadençage valide et 100% stable... Du coup, on en passe par plus de Vcore pour stabiliser, et donc (beaucoup) plus de chauffe, avec une limite thermique atteinte avec 4 coeurs sur 8 en AVX2 de laquelle découle, là encore, une chute des fréquences, mais cette fois de tous les coeurs !

Bref, maintenant qu'AMD a rattrapé son retard en performances mono-coeur avec Zen3, le remplaçant de mon 9700K sera plus que probablement un Zen4 !
par Nicolas D., le Mercredi 31 Mars 2021 à 07h46  
par Un linuxien pas en Île-de-France, le Mardi 30 Mars 2021 à 22h44
Si, cela sert pour les algorithmes de chiffrement et de "hashage", ainsi que pour le RAID logiciel. Exemple, dans mon /var/log/dmesg:
[ 0.231295] raid6: avx2x4 gen() 51574 MB/s
[ 0.287965] raid6: avx2x4 xor() 25493 MB/s
[ 0.344636] raid6: avx2x2 gen() 49302 MB/s
[ 0.401307] raid6: avx2x2 xor() 33075 MB/s
[ 0.457977] raid6: avx2x1 gen() 45441 MB/s
[ 0.514648] raid6: avx2x1 xor() 27619 MB/s
[ 0.571319] raid6: sse2x4 gen() 22118 MB/s
[ 0.627989] raid6: sse2x4 xor() 13330 MB/s
[ 0.684660] raid6: sse2x2 gen() 22637 MB/s
[ 0.741330] raid6: sse2x2 xor() 14170 MB/s
[ 0.798001] raid6: sse2x1 gen() 19694 MB/s
[ 0.854671] raid6: sse2x1 xor() 9983 MB/s
[ 0.854672] raid6: using algorithm avx2x4 gen() 51574 MB/s
[ 0.854673] raid6: .... xor() 25493 MB/s, rmw enabled
[ 0.854674] raid6: using avx2x2 recovery algorithm
Ah oui tout à fait, je n'avais pas pensé à ça, pour calculer les bits de parité ca doit très bien fonctionner. Niveau performance (et chauffe), ca reste modéré, par rapport à un RAID 1 par exemple ? Vu que l'AVX throttle la fréquence, ca doit pas être glop si on charge tous les coeurs, non ; à moins qu'on soit large sur les core sur ce genre de machine ?
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Mardi 30 Mars 2021 à 23h46
Petite auto promo discretos
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Mardi 30 Mars 2021 à 23h46  
par Nicolas D., le Lundi 29 Mars 2021 à 20h59
Il y a d'autres travaux :-)
Petite auto promo discretos
par Un linuxien pas en Île-de-France, le Mardi 30 Mars 2021 à 22h44  
par Nicolas D., le Lundi 29 Mars 2021 à 19h35
Pour de l'OS, ça ne sert à rien du tout (je ne suis même pas sûr que le SSE serve, à vrai dire).
Si, cela sert pour les algorithmes de chiffrement et de "hashage", ainsi que pour le RAID logiciel. Exemple, dans mon /var/log/dmesg:
[ 0.231295] raid6: avx2x4 gen() 51574 MB/s
[ 0.287965] raid6: avx2x4 xor() 25493 MB/s
[ 0.344636] raid6: avx2x2 gen() 49302 MB/s
[ 0.401307] raid6: avx2x2 xor() 33075 MB/s
[ 0.457977] raid6: avx2x1 gen() 45441 MB/s
[ 0.514648] raid6: avx2x1 xor() 27619 MB/s
[ 0.571319] raid6: sse2x4 gen() 22118 MB/s
[ 0.627989] raid6: sse2x4 xor() 13330 MB/s
[ 0.684660] raid6: sse2x2 gen() 22637 MB/s
[ 0.741330] raid6: sse2x2 xor() 14170 MB/s
[ 0.798001] raid6: sse2x1 gen() 19694 MB/s
[ 0.854671] raid6: sse2x1 xor() 9983 MB/s
[ 0.854672] raid6: using algorithm avx2x4 gen() 51574 MB/s
[ 0.854673] raid6: .... xor() 25493 MB/s, rmw enabled
[ 0.854674] raid6: using avx2x2 recovery algorithm

par m en Alsace, le Mardi 30 Mars 2021 à 07h16  
Merci, je vais me garder ça sous le coude
par Nicolas D., le Lundi 29 Mars 2021 à 20h59  
par m en Alsace, le Lundi 29 Mars 2021 à 20h29
Merci pour l'éclairage

Me disais bien, c'est aussi de ce même chercheur qu'on doit cette remarquable bible sur les temps de cycles de nos chères CPU
Il y a d'autres travaux dans le secteur :-)
par m en Alsace, le Lundi 29 Mars 2021 à 20h29  
Merci pour l'éclairage

Me disais bien, c'est aussi de ce même chercheur qu'on doit cette remarquable bible sur les temps de cycles de nos chères CPU
par Nicolas D., le Lundi 29 Mars 2021 à 19h35  
par m en Alsace, le Lundi 29 Mars 2021 à 18h35
Mais alors, c'est bien ou pas, l'AVX-512?
J'ai cru comprendre que le papa de Linux détestait ça.
Il déteste beaucoup de choses . Pour de l'OS, ça ne sert à rien du tout (je ne suis même pas sûr que le SSE serve, à vrai dire). Par contre, pour des application spécialisées (retouche d'image, films, encodage, machine learning, simulation physique) c'est un très bon moyen de faire progresser la puissance des CPU . Pour moi, c'est plus que positif, c'est inévitable pour augmenter la performance brute des processeurs.
par m en Alsace, le Lundi 29 Mars 2021 à 18h35  
Mais alors, c'est bien ou pas, l'AVX-512?
J'ai cru comprendre que le papa de Linux détestait ça.
par Un ragoteur blasé pas en Île-de-France, le Lundi 29 Mars 2021 à 16h41  
L'AVX d'Intel, ou comment ruiner les performances d'un CPU: une seule (!) instruction AVX exécutée sur un coeur, et la fréquence de ce dernier dégringole de 10%: bonjour le gaspillage, surtout si le programme n'utilise que quelques instructions AVX ça et là: tout le reste du code se retrouve ralenti pour que dalle !!!