Ordinateurs

Linus Torvalds : « J’espère que l’AVX512 meurt d’une mort douloureuse » – High-teK.ca

Ce site peut gagner des commissions d’affiliation à partir des liens sur cette page. Conditions d’utilisation.

Linus Torvalds a écrit plusieurs messages sur le forum discutant de son aversion pour de nombreux jeux d’instructions SIMD, ainsi que de sa haine des deux benchmarks FPU et en général AVX-512, les extensions vectorielles 512 bits d’Intel. Linus, comme d’habitude, ne tire absolument aucun coup de poing sur celui-ci. Voici un court échantillon:

J’espère que AVX512 meurt d’une mort douloureuse et qu’Intel commence à résoudre de vrais problèmes au lieu d’essayer de créer des instructions magiques pour ensuite créer des repères sur lesquels ils peuvent bien paraître…

Je déteste absolument les repères de PF et je me rends compte que d’autres personnes s’en soucient profondément. Je pense juste que AVX512 est exactement la mauvaise chose à faire. C’est ma bête noire. C’est un excellent exemple de quelque chose qu’Intel a fait de mal, en partie en augmentant simplement la fragmentation du marché.

Torvalds admet son propre parti pris sur ce sujet et recommande même, à un moment donné, de prendre sa propre opinion avec un pincée de sel. Il étaye cependant son argumentation avec quelques points de discussion solides, dont l’un a rencontré un accord quasi universel : Un problème clé avec AVX-512 est la façon dont le support est fragmenté sur l’ensemble du marché.

En règle générale, les développeurs n’aiment pas la réécriture et le réglage manuel du code pour des architectures spécifiques, en particulier lorsque ce réglage manuel ne s’appliquera qu’à un sous-ensemble de processeurs destinés à exécuter l’application concernée. Si vous travaillez dans le HPC ou l’apprentissage automatique, où les serveurs AVX-512 sont courants, ce n’est pas un problème – mais statistiquement, c’est très peu de gens. La plupart des logiciels fonctionnent sur une large gamme de processeurs Intel, dont la plupart ne prennent pas en charge AVX-512. Plus la prise en charge de la gamme de produits Intel est faible, moins les développeurs ont de raison d’adopter AVX-512 en premier lieu.

Image par Recherche Colfax

Mais les problèmes ne sont pas arrêt là. L’une des raisons pour lesquelles les développeurs peuvent être réticents à utiliser l’AVX-512 est que le processeur subit un fort coup de fréquence lorsque ce mode est activé. Travis vers le bas a écrit une fabuleuse plongée en profondeur dans la façon dont l’unité AVX-512 d’un Xeon W-2104 se comporte sous charge.

Ce qu’il a découvert, c’est qu’en plus de la baisse de performances connue due à la diminution de la fréquence, il y a aussi une petite pénalité supplémentaire d’environ 3 % lors du passage en mode d’exécution 512 bits. Cela semble également être le cas lorsque AVX2 est utilisé dans ses charges utiles de référence, donc cette partie de la pénalité peut être les 2104 exécutions à 3,2 GHz (non-AVX Turbo), à 2,8 GHz (AVX2) et à 2,4 GHz lors de l’exécution AVX-512. Il y a un impact de fréquence de 12,5% en utilisant AVX2 par opposition à non, et une pénalité de 25% en invoquant AVX-512.

Psssssst :  Analyste : Nvidia Ampère augmentera les performances et réduira la consommation d'énergie de 50 %

Mais l’un des problèmes avec l’AVX-512, et la raison pour laquelle il peut nuire aux performances, est que l’utilisation de l’AVX-512 à la légère n’est vraiment pas une bonne idée. Lorsque l’activation d’une partie du processeur vous oblige à prendre un coup de fréquence de 25%, la dernière chose que vous voudriez est de frapper ce bloc légèrement mais de manière cohérente, en l’invoquant pour une poignée d’utilisations avantageuses qui ralentissent tellement le processeur, votre les performances globales nettes sont inférieures à ce qu’elles auraient été avec AVX2 ou même sans AVX du tout, selon le scénario.

Torvald plonge dans certains des problèmes techniques spécifiques qui font de l’AVX-512 un mauvais choix, y compris le cas d’utilisation « d’utilisation occasionnelle » pour lequel l’AVX-512 est très mal adapté. D’autres dans le fil comme David Kanter contestent l’idée que AVX-512 est une mauvaise utilisation du silicium, soulignant que les instructions sont très bien adaptées aux applications AI et HPC. La question de la fragmentation, cependant, est quelque chose que personne n’aime.

Je suis d’accord, sans réserve, que la fragmentation a blessé l’AVX-512. Étant donné que l’espace requis pour sa mise en œuvre est assez important, il n’y a pratiquement aucune raison de l’ajouter à des cœurs de processeur plus petits comme Atom, qui ne prend même pas encore en charge AVX/AVX2. Quant à savoir s’il trouvera des utilisations spécifiques en dehors des applications AI/ML/HPC, nous devrons attendre qu’Intel livre réellement la fonctionnalité sur les processeurs grand public.

Maintenant lis:

Bouton retour en haut de la page