COMPTOIR
register

×

Grand show à l'américaine : la Chine sait où elle va !

Alibaba se lance dans l'Armv9 avec le Yitian 710
Grand show à l'américaine : la Chine sait où elle va !

Alors qu’entre Arm (la « vraie » firme, originelle) et sa filiale chinoises, les choses sont plutôt tendues, cela ne signifie pas pour autant que les nouveautés technologiques n’arrivent pas jusqu’à l’autre côté de la muraille de Chine. En effet, les britanniques vendent toujours des licences et des designs à qui le souhaite, notamment à T-Head, la branche développant des puces chez Alibaba — un nom qui vous est peut-être familier de par la carte de développement RISC-V récemment dévoilée.

 

Autant cette dernière était peu véloce, autant la puce du jour, la Yitian 710, l’est davantage, avec une cible clairement identifiée : le calcul haute performance. Tout comme les bousins de chez Ampère Computing, la série fait dans le maycore avec 128 cœurs Armv9 sous le capot de la nouvelle venue, soi-disant de conception maison. Tout cela tient dans 628 mm² soit 60 milliards de transistors, un chiffre rappelant fortement le M1 Max de chez Apple. Par ailleurs, le 5 nm TSMC employé (tout comme chez la pomme !), ajouté à l’architecture révolutionnaire, permettrait de battre de 20 % le top du top (Arm) actuel, tout en consommant moitié moins. Des propos suspicieux certes ; mais avec 8 canaux de DDR5, une fréquence maximale de 3,2 GHz et 96 lignes PCIe, la Yitian 710 a tout de même de sérieux arguments pour une utilisation réelle côté professionnels. Voilà qui tombe bien, la firme a également dévoilé une série de serveurs nommée Panjiu, intégrant ce CPU fait-maison.

 

Grand show à l'américaine : la Chine sait où elle va ! [cliquer pour agrandir]

 

Notez que ces designs ne sont de loin pas les seuls récemment développés par la firme. En effet, le RISC-V a également eu droit à sa part du gâteau, cette fois-ci en version libre et disponible sur GitHub : dites bonjour aux OpenE902, OpenE906, OpenC906, et OpenC910... dont les caractéristiques ne sont malheureusement pas plus documentées. Au moins, leur code source est en libre accès, c’est déjà ça ! (Source : WikiChip)

Un poil avant ?

Patou Gelsinger coinche sur la pénurie

Un peu plus tard ...

Bon plan • de la mémoire, du SSD et une carte mère sont sur un bateau

Les 4 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Une ragoteuse à forte poitrine embusqué, le Mardi 26 Octobre 2021 à 08h07  
par Nicolas D. le Mardi 26 Octobre 2021 à 05h15
C'est donc du CPU directement issu de HLS, c'est bon à savoir.... et ça permet de dire qu'ils ne jouent pas vraiment franc-jeu si c'est pour laisser libre uniquement le code généré !
Pour avoir commencé à analyser le code (j'ai analysé en surface un peu plus de 50 000 lignes pour le moment): HLS pas exactement, c'est plus un outil d'automatisation. En Vperl ils mixent du verilog et des "macros" Vperl qui vont générer des bouts de code verilog que l'on a pas envie d'écrire à la main. Par exemple il permet de produire des instances d'un module verilog avec plein de port en une seule ligne et sans avoir à connecter tous les ports soit même à la main. Ce mix verilog + macro permet, contrairement à de la HLS classique, d'avoir un design vraiment optimisé pour cibler de l'ASIC (il y a du clock gating de partout par exemple).

Cependant je pense quand même que c'est pas vraiment franc-jeu. Grace aux numéros de ligne du code d'origine dans les commentaires on peut reproduire ce code d'origine, et on peut constater qu'il y a parfois des énormes bout de code manquant. Je suppose que c'était des macros Vperl dédiés à la vérification.

Or pour pouvoir réutiliser et l'améliorer ce design il est impératif d'avoir de quoi vérifier le design. Sans le code dédié à la vérification il est presque impossible d'étendre le projet (ça serait un travail colossale de le refaire). Cela s'ajoute au manque de documentation aux code difficilement lisible.

C'est sans doute plus une démonstration de force de l'entreprise ?
par Nicolas D., le Mardi 26 Octobre 2021 à 05h15  
par Une ragoteuse à forte poitrine embusqué le Lundi 25 Octobre 2021 à 14h50
En faite si, c'est bon j'ai trouvé. C'est Vperl leur outil, il y a un papier dessus: A front-end automation tool supporting design, verification and reuse of SOC
Merci bien pour la ressource ! C'est donc du CPU directement issu de HLS, c'est bon à savoir.... et ça permet de dire qu'ils ne jouent pas vraiment franc-jeu si c'est pour laisser libre uniquement le code généré !
par Une ragoteuse à forte poitrine embusqué, le Lundi 25 Octobre 2021 à 14h50  
par Une ragoteuse à forte poitrine embusqué le Lundi 25 Octobre 2021 à 14h31
Mais je n'ai pas pu identifier quel outil ils utilisent (potentiellement un outil fait maison)
En faite si, c'est bon j'ai trouvé. C'est Vperl leur outil, il y a un papier dessus: A front-end automation tool supporting design, verification and reuse of SOC
par Une ragoteuse à forte poitrine embusqué, le Lundi 25 Octobre 2021 à 14h31  
 
Notez que ces designs ne sont de loin pas les seuls récemment développés par la firme. En effet, le RISC-V a également eu droit à sa part du gâteau, cette fois-ci en version libre et disponible sur GitHub : dites bonjour aux OpenE902, OpenE906, OpenC906, et OpenC910... dont les caractéristiques ne sont malheureusement pas plus documentées

Il y a une "documentation" en chinois sur le github (je ne sais pas ce qu'elle dit donc je peux pas juger de sa qualité, mais elle est courte)

Sinon les OpenE902, E906, C906, et C910 sont les versions opensource des XuanTie E902, E906, C906 et C910 dont on a quelque info sur le site de T-Head. En gros les specs résumés:
C910: Linux ready, Multi-core, superscalar (3-issue), out-of-order, 12-stage, RV64GC
C906: Linux ready, Single-issue, in-order, 5-stage integer pipeline
E906: Single-issue, in-order, 5-stage integer pipeline
E902: Single-issue, in-order, 2-stage pipeline

Les version E sont des microcontrôleur qui ne peuvent que faire tourner un OS temps réel, alors que les version C sont des CPU general purpose qui peuvent faire tourner un OS type Linux.

Si on analyse le code (c'est du verilog), on se rend très vite compte d'une chose: c'est vraiment illisible. Il y a une raison à cela, à la vu de la tête des quelques commentaires, le code est en partie généré à partir d'un langage plus haut niveau (on a les numéros de ligne du code d'origine dans ces commentaires). Mais je n'ai pas pu identifier quel outil ils utilisent (potentiellement un outil fait maison).
Cela va demander du temps pour analyser en détail la uarch utilisé.

Si des gens ont plus d'info ça serait interessant