Les Prodigy disposent de leur propre jeu d’instructions, ce qui leur permet de faire table rase Intel étant poings et mains liées par la rétrocompatibilité, par exemple. Le compilateur doit être spécifiquement pensé pour l’architecture : si le processeur ne réordonne pas les instructions, c’est parce qu’il attend que le compilateur s’en charge. À cette fin, Tachyum a d’abord développé un compilateur selon cette contrainte (un dérivé de GCC 7.2, pour le moment), puis seulement un processeur qui en bénéficie.
Cette conception permet de réduire l’utilisation de transistors sur la puce — chaque cœur est ainsi beaucoup plus petit et peut être plus efficace (notamment parce que l’information a moins de distance à parcourir). Ainsi, sur moins de trois cents millimètres carrés (les Xeon montent jusque sept cents), Tachyum arrive à embarquer soixante-quatre cœurs, huit canaux de mémoire ECC (gérant la DDR4 et la DDR5), deux canaux supplémentaires pour de la mémoire à très haut débit HBM3, septante-deux canaux PCIe 5, deux ports Ethernet 400 Gb/s. En d’autres termes, les entrées-sorties de ces processeurs sont hors normes ! Ils seront fabriqués par TSMC sur son processus à 7 nm.
Plusieurs versions de ces puces sont prévues, en coupant les fonctionnalités non nécessaires selon les charges de travail à exécuter. Cela permet ainsi d’augmenter la densité, donc de réduire les coûts pour les utilisateurs.
L’architecture en elle-même n’est pas très différente de ce qui se fait dans le reste de l’industrie. Chaque cœur dispose de trente-deux registres de soixante-quatre bits pour des entiers, trente-deux registres vectoriels de deux cent cinquante-six ou cinq cent douze bits, sept registres de masques. À chaque coup d’horloge, un cœur peut charger deux valeurs en mémoire, effectuer deux opérations de multiplication-addition, une écriture en mémoire, un incrément d’adresse, un branchement. En moyenne, cela lui permet donc d’effectuer 1,72 instruction — huit microopérations par cycle.
Tout ceci n’est possible que grâce aux annotations écrites par le compilateur, qui groupe explicitement des instructions par paquets de quatre à seize octets. Toute l’exécution spéculative est aussi gérée par le compilateur, ce qui évite de perdre des transistors pour ce faire — et de créer des failles, accessoirement.
Une autre idée derrière Prodigy est d’exploiter le processeur à fond, tout le temps. Selon les simulations actuelles, un cœur Prodigy passerait moins de vingt pour cent de son temps à attendre que des données à traiter arrivent (par rapport à la moitié du temps pour la défunte architecture Itanium d’Intel, basée sur des principes similaires, où le compilateur devait effectuer une bonne partie du travail). De même, dans un centre informatique moderne, la plupart des processeurs sont rarement utilisés : un tiers du temps chez Amazon EC, quarante pour-cent du temps chez Facebook. Le reste du temps, les processeurs consomment, mais n’effectuent aucun calcul, alors qu’ils pourraient être utilisés pour des tâches d’apprentissage automatique.
Sources : Kleiner Supercomputer-Chip soll Intels Xeons schlagen, Hot Chips 2018: Tachyum Prodigy CPU Live Blog.