4 · Blogs et dépôts¶
Les sources qui produisent le contenu le plus utile au quotidien — souvent plus que les papiers.
4.1 Les articles à lire absolument¶
Simon Boehm — How to Optimize a CUDA Matmul Kernel for cuBLAS-like Performance¶
siboehm.com/articles/22/CUDA-MMM · code
L'article qui apprend le plus par mot lu de toute la programmation GPU. Il part d'un noyau naïf et applique les optimisations une par une, en mesurant à chaque étape, jusqu'à atteindre 95 % de cuBLAS.
Chaque étape est expliquée avec le raisonnement qui l'a motivée. C'est un modèle de pédagogie technique.
À lire pendant la partie 7, chapitre 2.
Les suites :
- Advanced Matrix Multiplication Optimization on NVIDIA GPUs, salykova
- Outperforming cuBLAS on H100: a Worklog — atteint 107 % de cuBLAS
- 6 Step Optimization of GeMMs in CUDA
Hazy Research (Stanford)¶
hazyresearch.stanford.edu/blog
Le blog du laboratoire de Christopher Ré. Les billets sur les megakernels y sont publiés, ainsi que ceux sur ThunderKittens et FlashAttention.
Style caractéristique : technique, chiffré, avec le code. Les deux billets sur les megakernels sont la source primaire de la partie 8.
Colfax Research¶
La meilleure documentation pédagogique sur CUTLASS et le CUDA moderne. Une série de tutoriels approfondis :
| Tutoriel | Sujet |
|---|---|
| Mastering the NVIDIA Tensor Memory Accelerator | TMA en détail |
| Fast Matrix-Multiplication with WGMMA on Hopper | l'instruction et ses descripteurs |
| Efficient GEMM kernel designs with Pipelining | étages, mbarriers |
| GEMM with Thread Block Clusters on Blackwell | clusters et tcgen05 |
| Persistent Kernels and Stream-K | ordonnancement |
Ce sont ces documents qui expliquent ce que la documentation NVIDIA suppose connu.
Modal — GPU Glossary¶
Un glossaire hypertexte couvrant le matériel (SM, warp scheduler, tensor core), le logiciel côté périphérique (warp, thread block), le logiciel côté hôte (CUDA Runtime, CuTe DSL) et la performance (roofline, warp divergence, warp execution state).
La meilleure référence courte pour vérifier un terme. Chaque entrée fait une page, est exacte, et renvoie aux entrées liées.
Modal publie aussi des analyses techniques, dont We reverse-engineered Flash Attention 4.
4.2 Les blogs des fournisseurs¶
| Blog | Ce qu'on y trouve |
|---|---|
| NVIDIA Technical Blog | annonces, tutoriels, deep dives d'architecture |
| PyTorch Blog | Inductor, Triton, Helion, CUTLASS ping-pong, FlexAttention |
| AMD ROCm Blogs | CDNA, Matrix Cores, optimisation MI300/MI350 |
| Modular | Mojo, série sur la GEMM Blackwell |
| vLLM | le moteur d'inférence dominant |
| LMSYS / SGLang | l'autre moteur majeur |
Les articles NVIDIA les plus utiles pour ce document :
- NVIDIA Hopper Architecture In-Depth
- NVIDIA CUDA 13.1 Powers Next-Gen GPU Programming with CUDA Tile
- Using CUDA Warp-Level Primitives
- Cooperative Groups
- An Efficient Matrix Transpose in CUDA C/C++
- CUDA Pro Tip: Write Flexible Kernels with Grid-Stride Loops
4.3 Les analyses matérielles indépendantes¶
| Source | Ce qu'on y trouve |
|---|---|
| SemiAnalysis | Dissecting Nvidia Blackwell, Nvidia Tensor Core Evolution from Volta to Blackwell |
| Chips and Cheese | microbenchmarks indépendants, dont Nvidia's B200 |
| Glenn Lockwood | notes techniques sur le matériel HPC |
| Cornell Virtual Workshop | documentation pédagogique sur les architectures |
Ces sources sont précieuses parce qu'elles vérifient les affirmations des fournisseurs.
4.4 Les blogs individuels¶
| Auteur | Contenu |
|---|---|
| Lei Mao | articles très détaillés sur CUDA, avec code |
| gau-nernst | tcgen05 for dummies, analyses Blackwell |
| salykova | GEMM sur NVIDIA et Matrix Cores AMD |
| Ian Barber | How to build unmaintainable kernels, Helion and the evolving GPU programming model |
| 0xsero — Blackwell GPU Wiki | référence détaillée sur tcgen05 et TMEM |
4.5 Les dépôts à lire¶
Pour apprendre¶
| Dépôt | Ce qu'on y apprend |
|---|---|
| gpu-mode/lectures | le code de chaque conférence |
| siboehm/SGEMM_CUDA | l'optimisation de GEMM pas à pas |
| srush/GPU-Puzzles | les puzzles d'indexation |
| modular/mojo-gpu-puzzles | 34 puzzles progressifs |
| NVIDIA/cuda-samples | les exemples officiels |
Pour comprendre l'état de l'art¶
| Dépôt | Ce qu'on y trouve |
|---|---|
| NVIDIA/cutlass | la référence de la GEMM ; le répertoire examples/ est de l'or |
| HazyResearch/ThunderKittens | les tuiles 16×16 |
| HazyResearch/Megakernels | les megakernels de Llama |
| mirage-project/mirage | le compilateur de megakernels |
| triton-lang/triton | Triton et Gluon, avec leurs tutoriels |
| Dao-AILab/flash-attention | FlashAttention |
| flashinfer-ai/flashinfer | les noyaux de service LLM |
| vllm-project/vllm | un moteur d'inférence complet |
| sgl-project/sglang | l'autre moteur majeur |
| pytorch/helion | le DSL de haut niveau |
| deepseek-ai/DeepGEMM et DeepEP | GEMM FP8 et MoE distribué |
| linkedin/Liger-Kernel | noyaux Triton fusionnés pour l'entraînement |
Comment lire un dépôt de noyaux
Ne commencez pas par le code. Commencez par :
- le README et la documentation ;
- les tests — ils montrent l'API réelle et les cas limites ;
- les benchmarks — ils montrent ce que les auteurs optimisent ;
- un noyau, en entier, en suivant les données ;
- seulement ensuite, l'architecture générale.
Pour CUTLASS en particulier : commencez par examples/, jamais par
include/.
4.6 Les communautés¶
| Lieu | Usage |
|---|---|
| Discord GPU MODE | questions techniques précises, très actif |
| NVIDIA Developer Forums | questions CUDA, réponses parfois d'ingénieurs NVIDIA |
| r/CUDA, r/LocalLLaMA | discussions générales, veille |
Stack Overflow, tag cuda |
les questions classiques ont déjà leur réponse |
| GitHub Issues des projets | souvent la meilleure documentation des limitations réelles |
Les issues GitHub comme documentation
L'issue vLLM #38022, citée plusieurs fois dans ce document, documente que le noyau Marlin MoE exige des dimensions alignées sur 128 — information absente de la documentation officielle.
Chercher dans les issues d'un projet avant d'utiliser un noyau est une habitude rentable.
4.7 La veille¶
Pour suivre le domaine sans y passer ses journées :
| Source | Fréquence | Effort |
|---|---|---|
| Discord GPU MODE, canal annonces | continu | faible |
arXiv cs.DC + cs.LG, mots-clés ciblés |
hebdomadaire | moyen |
| Blogs PyTorch et NVIDIA | mensuel | faible |
| Notes de version CUDA | par version | faible |
| SemiAnalysis, Chips and Cheese | mensuel | faible |
Les mots-clés arXiv utiles : megakernel, persistent kernel, GPU kernel
optimization, LLM inference latency, tensor core, warp specialization.
Résumé de la partie 10¶
Les cinq ressources qui comptent le plus
- Programming Massively Parallel Processors, 5e éd. (2026) — le manuel canonique.
- GPU MODE — 40+ conférences avec le code, et une communauté active.
- Simon Boehm, worklog GEMM — le meilleur rapport apprentissage/temps de lecture.
- Modern GPU Programming for
MLSys — le CUDA
moderne (TMA,
tcgen05, TMEM) expliqué et exécutable. - Modal GPU Glossary — la référence courte pour chaque terme.
Et pour la partie 8 : les deux billets de Hazy Research et le papier MPK sont les sources primaires.
Partie suivante : Annexes