Modèle / jeu de données
tenstorrent/tt-metal avatar
tenstorrent/tt-metal

tt-metal de Tenstorrent : bibliothèque d'opérateurs TT-NN et programmation de kernels TT-Metalium

Bibliothèque d'opérateurs TT-NN et modèle de programmation du noyau de bas niveau TT-Metalium.

1 673 étoiles676 forksC++Apache-2.0

En bref

De quoi s’agit-il ?
Un aperçu des deux bibliothèques du dépôt, de ses tableaux de performance de modèles, de ses rapports techniques, de ses outils de débogage et de ses licences.
À qui s’adresse-t-il ?
Le dépôt associe une bibliothèque d'opérateurs de haut niveau à un modèle de kernel de bas niveau, et fournit un grand nombre de rapports techniques et d'outils. La licence Apache 2.0 couvre le code, mais le README ne traite pas du support, de la garantie ou des garanties de sécurité.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 1 jour.
En quel langage est-il écrit ?
Principalement C++, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Deux bibliothèques dans un même dépôt

Le dépôt tt-metal héberge deux parties distinctes mais liées de la pile logicielle de Tenstorrent. TT-NN est une bibliothèque d'opérateurs de réseaux neuronaux en Python et C++, fournissant des opérations de haut niveau pour construire des modèles. TT-Metalium est le modèle de programmation de bas niveau pour le matériel Tenstorrent, destiné aux développeurs qui souhaitent écrire des kernels personnalisés. Le README les présente comme des projets séparés avec leurs propres références API et documentation : TT-NN renvoie à une référence API et à des démos de modèles, tandis que TT-Metalium pointe vers un guide de programmation et des exemples de kernels. La description du dépôt sur GitHub l'appelle la "bibliothèque d'opérateurs TT-NN, et le modèle de programmation de kernels de bas niveau TT-Metalium", ce qui correspond à la structure du README.

TT-NN : bibliothèque d'opérateurs et démos de modèles

TT-NN est présenté comme une bibliothèque d'opérateurs de réseaux neuronaux en Python et C++. Le README fournit un lien vers la référence API et un dossier models/demos. Il liste également un ensemble de modèles phares, chacun avec un tableau de performance : Llama 3.3 70B, Qwen 2.5 7B et 72B, Whisper (distil-large-v3) et Mixtral 8x7B. Les tableaux indiquent le temps jusqu'au premier token (TTFT) en millisecondes, les tokens par seconde par utilisateur (T/S/U), le total de tokens par seconde (T/S) et les facteurs de parallélisation (TP et DP). Le README définit ces métriques et note que les données proviennent des démos de modèles tt-metal, avec un avertissement selon lequel d'autres runtimes comme le serveur d'inférence vLLM peuvent produire des résultats différents. Il indique également que l'optimisation logicielle Blackhole est en cours de développement actif et invite à participer.

TT-Metalium : développement de kernels de bas niveau

TT-Metalium est décrit comme un modèle de programmation de bas niveau qui permet le développement de kernels pour le matériel Tenstorrent. Le README renvoie à un guide de programmation et à une référence API, et suggère de commencer par des kernels simples. Une liste d'exemples de programmation couvre les kernels hello world de calcul et de déplacement de données, l'addition d'entiers sur un cœur Baby RISC-V ou dans un kernel de calcul, les manipulations simples de tenseurs (sharding, padding), la boucle DRAM, les opérations élémentaires unaires et binaires, et des exemples matmul pour un seul cœur et multi-cœurs. Chaque exemple a son propre fichier markdown. TT-Metalium possède également un ensemble de rapports techniques, notamment sur le moteur matriciel, les formats de données, l'allocateur, les dispositions de tenseurs, l'attention flash, l'Ethernet multichip et un guide de démarrage Blackhole. Ce sont des liens dans le dépôt.

Rapports techniques et documentation de scale-out

Le dépôt contient un grand nombre de rapports techniques en markdown, datés et maintenus avec le code. Pour TT-NN, il y a des rapports sur les optimisations avancées de performance, l'implémentation ViT, le démarrage de LLM et l'optimisation CNN. Pour TT-Metalium, les rapports couvrent le moteur matriciel, les formats de données, la reconfiguration des formats de données, la gestion des nombres à virgule flottante spéciaux, l'allocateur, les dispositions de tenseurs, la saturation de la bande passante DRAM, l'attention flash, les CNN, les bases Ethernet et multichip, le démarrage Blackhole et les sous-dispositifs. Des rapports techniques distincts de scale-out couvrent la programmation d'un maillage de dispositifs, le réglage des performances CCL, la programmation de plusieurs maillages, l'architecture TT-Fabric et l'architecture TT-Distributed. Le README fournit des liens vers tous ces éléments, et chacun inclut une date de mise à jour.

Outils de débogage et de profilage

Pour les développeurs travaillant à l'un ou l'autre niveau, le README liste plusieurs outils compagnons. TT-NN Visualizer offre des graphiques interactifs et des tracés de mémoire pour l'exécution de modèles, avec prise en charge multi-instances et chargement de rapports par fichier ou SSH. TT-Exalens (documenté dans son propre dépôt) est un outil de débogage de bas niveau qui peut accéder aux dispositifs Wormhole et Blackhole. TT-SMI est l'interface de gestion système Tenstorrent, un utilitaire en ligne de commande pour les informations sur les dispositifs, la télémétrie et le firmware. Model Explorer fournit une vue hiérarchique des graphes de modèles. Tracy Profiler est un profileur en temps réel avec une résolution à la nanoseconde, prenant en charge CPU, GPU, mémoire et verrous. Pour le débogage de kernels, le README mentionne DPRINT, qui imprime des variables, des adresses et des données de tampon circulaire depuis les kernels, et Watcher, qui surveille le firmware et les kernels pour détecter les erreurs de programmation courantes et les blocages. Inspector enregistre les données d'exécution de l'hôte pour investigation.

Versions et licence

Le README inclut un tableau de versions allant de 0.56.0 à 0.68.0 (cette dernière avec une date prévue au 30 avril 2026), chacune avec une date de sortie et, pour les versions plus récentes, des versions de firmware, KMD et SMI. Certaines versions sont marquées comme sautées. Le tableau est suivi d'une note indiquant de consulter le dossier releases pour plus de détails. La section licence stipule que TT-Metalium et TTNN sont sous licence Apache 2.0, avec un lien vers le fichier de licence et un texte explicatif. L'extrait de licence accorde des licences de droit d'auteur et de brevet perpétuelles, mondiales, non exclusives et libres de redevances, avec des conditions de redistribution. Le README note également que les formes distribuables, comme les wheels conformes à manylinux, peuvent nécessiter l'ajout de bibliothèques supplémentaires telles que libnuma, libhwloc, openmpi et libevent, chacune ayant ses propres conditions de licence. Le README ne fournit pas d'informations sur le support, la garantie ou les garanties de sécurité pour le logiciel.

Conclusion éditoriale

Le dépôt associe une bibliothèque d'opérateurs de haut niveau à un modèle de kernel de bas niveau, et fournit un grand nombre de rapports techniques et d'outils. La licence Apache 2.0 couvre le code, mais le README ne traite pas du support, de la garantie ou des garanties de sécurité.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté