Qu’est-ce que TileKernels ?
TileKernels est la bibliothèque de kernels GPU de DeepSeek écrite en TileLang, un langage basé sur Python pour du code GPU haute performance. Elle couvre les opérations dont dépendent les modèles récents de DeepSeek : sélection et notation top-k des experts pour le routage mixture-of-experts, conversion FP8 et FP4 par token, par bloc et par canal avec SwiGLU et quantification fusionnés, kernels de porte pour Engram (le module de mémoire de DeepSeek) avec passes avant et arrière, et kernels de manifold hyper-connection (mHC), dont la normalisation de Sinkhorn, ainsi que des kernels RoPE et de nombres aléatoires. Le README indique que la plupart des kernels approchent la limite de calcul ou de bande passante mémoire du matériel et que tous servent à l'entraînement et à l'inférence internes de DeepSeek.
Elle s'installe depuis PyPI sous le nom tile-kernels et demande Python 3.12, PyTorch 2.13 et TileLang 0.1.15 ou plus récent. Chez Nvidia, elle ne prend en charge que les GPU SM90 et SM100 (les générations H100 et B200) avec CUDA 13.1 ou plus récent. La version 2.0.0, en septembre 2026, a ajouté un backend Huawei Ascend pour le NPU Ascend 950 avec CANN 9.2.0, choisi automatiquement à l'exécution derrière la même API Python. Le code est sous licence MIT.
TileKernels vaut-il le coup ?
TileKernels compte moins comme dépendance que comme preuve. Engram et les manifold hyper-connections sont des idées d'architecture propres à DeepSeek, et Redeep présente ce dépôt comme la première implémentation publique des deux au niveau kernel ; l'article sur DeepSeek-V4 explique que l'équipe a adopté TileLang pour ses kernels fusionnés parce qu'il associe développement rapide et optimisation poussée dans une seule base de code. Une analyse de Redeep de juin 2026 comptait 44 opérateurs répartis en cinq modules (14 pour le routage MoE, 15 pour la quantification, 10 pour mHC, 5 pour Engram et 1 de transposition) ; des kernels RoPE et de nombres aléatoires ont été ajoutés depuis.
Le seuil matériel est élevé. Chez Nvidia, seules les puces SM90 et SM100 conviennent, donc une RTX 4090 (SM89) est exclue, et un ticket ouvert signale que les kernels Sinkhorn d'Engram dépassent les 100 KB de mémoire partagée des Blackwell grand public (SM120). Le backend Ascend de la version 2.0.0 est un vrai support et non une promesse de TileLang, ce qui en fait l'un des rares ensembles de kernels ouverts à exécuter les mêmes appels Python sur du matériel Nvidia et Huawei. Le README ne publie aucun tableau de performances ; l'affirmation d'un rendement proche des limites repose sur les benchmarks pytest fournis, que vous lancez vous-même avec --run-benchmark.
Le mode de maintenance est le principal compromis. La branche principale compte sept commits : la publication initiale du 23 avril 2026, puis deux livraisons de version, la 2.0.0 le 30 septembre et la 2.1.0 le 14 octobre. Les contributions extérieures attendent : 16 pull requests sont ouvertes, dont des portages vers AMD ROCm et Moore Threads MUSA, tandis que les seules pull requests fusionnées sont une correction de commentaires du jour du lancement et les deux livraisons de version. Avec environ 2 100 étoiles, elle pèse une fraction des quelque 9 000 de TileLang.
Pour une équipe qui entraîne un modèle mixture-of-experts dans le style de DeepSeek en FP8 sur des clusters H100 ou B200, ce sont des kernels testés et utilisés en production qui épargnent des semaines d'écriture. Pour tout le reste, comme un modèle dense classique, des GPU plus anciens ou une pile de service comme vLLM qui fournit déjà ses propres kernels, TileKernels est surtout du code de référence à lire.
Là où il fait la différence
Un ingénieur d'infrastructure dans un laboratoire qui pré-entraîne un modèle MoE à 200 experts sur des nœuds H100
Remplacer le gating top-k et la conversion FP8 lents de PyTorch par des kernels fusionnés
pip install tile-kernels, remplacez les appels de gating et de conversion FP8 par bloc par les versions de la bibliothèque, puis vérifiez chacun contre les implémentations de référence PyTorch de tile_kernels/torch avec les tests fournis. Gratuit sous MIT ; le gain se compte en semaines d'ingénierie, pas en licences.
Un ingénieur de recherche qui reproduit l'architecture de DeepSeek-V4
Lire comment la porte Engram et les manifold hyper-connections sont réellement implémentées
Étudiez les modules engram et mhc avec leur code de référence PyTorch, puis utilisez le wrapper torch.autograd.Function de la porte Engram dans un petit entraînement. Les kernels exigent un GPU SM90 ou SM100 ; louer une H100 est donc le moyen le moins cher de les exécuter.
Une équipe plateforme chez un fournisseur cloud chinois qui exploite des accélérateurs Nvidia et Huawei
Garder un seul chemin de code de kernels pour des parcs H100 et Ascend 950
Depuis la version 2.0.0, la bibliothèque choisit le backend CUDA ou Ascend à l'exécution derrière les mêmes appels Python, si bien qu'une seule base de code du modèle tourne sur les deux. Ascend demande CANN 9.2.0 ou plus récent.
Avant de vous engager
- Mise en route
- pip install tile-kernels, ou pip install -e ".[dev]" depuis un clone. Nécessite Python 3.12+, PyTorch 2.13+, TileLang 0.1.15+ et soit un GPU SM90/SM100 avec CUDA 13.1+, soit un NPU Ascend 950 avec CANN 9.2.0+. TK_TEST_LEVEL=0 python -m pytest -n 4 lance les tests de base.
- Intégrations
- Tenseurs PyTorch en entrée et en sortie, avec des implémentations de référence PyTorch pour chaque kernel et un wrapper autograd pour la porte Engram. Construit sur TileLang ; publié aux côtés de DeepGEMM et FlashMLA de DeepSeek, sans les remplacer.
- Données et confidentialité
- Une bibliothèque locale sans appel réseau ni télémétrie mentionnés dans le README. La licence MIT autorise l'usage commercial. Aucun avis de sécurité n'est publié.
- Coût à grande échelle
- Le logiciel est gratuit. Le vrai coût est le seuil matériel : seuls les GPU de centre de données Hopper et Blackwell ou les NPU Ascend 950 l'exécutent.
- Limites
- GPU grand public non pris en charge, avec un ticket ouvert sur les limites de mémoire partagée de SM120 ; aucun support AMD ou MUSA fusionné ; mises à jour par livraisons de version espacées ; la documentation se résume à un court README.
Les points forts
- Kernels de production que DeepSeek utilise en interne
- Premiers kernels publics pour Engram et mHC
- Même API Python sur Nvidia SM90/SM100 et Ascend 950
- Licence MIT ; installable avec pip, avec benchmarks pytest
Les points faibles
- Aucun support des GPU grand public ou antérieurs à Hopper
- Le code arrive par livraisons de version ; les portages communautaires attendent
- Aucun tableau de performances publié
- Utile seulement pour des architectures proches de DeepSeek
Idéal pour
Ingénieurs d'infrastructure ML qui entraînent ou servent des modèles MoE dans le style de DeepSeek en FP8 sur du matériel H100, B200 ou Ascend 950.
Alternatives à TileKernels
TileKernels : questions fréquentes
- TileKernels vaut-il le coup ?
- TileKernels offre la vue la plus nette à ce jour sur les kernels derrière les modèles de DeepSeek, et du code de production pour qui construit la même architecture, mais c'est un dépôt de code de DeepSeek, pas une bibliothèque communautaire. Nous lui donnons 3.8 sur 5.
- Combien coûte TileKernels ?
- Gratuit et open source sous licence MIT.
- Quels sont les inconvénients de TileKernels ?
- Aucun support des GPU grand public ou antérieurs à Hopper; le code arrive par livraisons de version ; les portages communautaires attendent; aucun tableau de performances publié; utile seulement pour des architectures proches de DeepSeek.
- À qui s’adresse TileKernels ?
- Ingénieurs d'infrastructure ML qui entraînent ou servent des modèles MoE dans le style de DeepSeek en FP8 sur du matériel H100, B200 ou Ascend 950.
- Combien coûte TileKernels pour une équipe ou en production ?
- Le logiciel est gratuit. Le vrai coût est le seuil matériel : seuls les GPU de centre de données Hopper et Blackwell ou les NPU Ascend 950 l'exécutent.
- TileKernels est-il sûr pour les données de l’entreprise ?
- Une bibliothèque locale sans appel réseau ni télémétrie mentionnés dans le README. La licence MIT autorise l'usage commercial. Aucun avis de sécurité n'est publié.
- Quelles sont les meilleures alternatives à TileKernels ?
- Les alternatives les plus proches que nous avons testées sont SGLang, vLLM et TensorRT-LLM.
Réponses vérifiées le 13 nov. 2026.