- DeepSeek vừa open-source TileKernels — thư viện kernel cho LLM viết hoàn toàn bằng TileLang (Python DSL), target trực tiếp tile-level của Hopper/Blackwell, bỏ qua CUTLASS.
- Đã chạy trong production training + inference của DeepSeek.
TL;DR
Ngày 23/04/2026, DeepSeek thả TileKernels — bộ GPU kernel tối ưu cho LLM, viết bằng TileLang (DSL Python) thay vì CUDA C++. Target trực tiếp kiến trúc tile-level của Hopper (SM90) và Blackwell (SM100), bỏ qua lớp trừu tượng của NVIDIA CUTLASS. Đã được dùng trong pipeline training và inference nội bộ của DeepSeek — không phải prototype. MIT license, pip install tile-kernels.
Có gì mới
TileKernels phủ đúng những đoạn hot-path mà một thư viện GEMM thuần không đụng tới:
- MoE routing — top-k gating + token-to-expert mapping, fused expand/reduce và weight normalization
- Quantization — cast FP8 / FP4 / E5M6 theo per-token, per-block, per-channel, fused luôn với SwiGLU
- Engram — gating fused với RMSNorm và gradient reduction
- Manifold HyperConnection (mhc) — kernel Sinkhorn normalization cho hyper-connection
- Transpose — batched transpose tối ưu
- Modeling — wrapper
torch.autograd.Functionđể drop thẳng vào model PyTorch
Điểm quan trọng: các kernel được compile từ Python qua TileLang xuống tile-level instructions, không đi qua CUTLASS. Nghĩa là DeepSeek có thể thử non-standard tiling strategies mà template C++ khó match.
Vì sao đáng chú ý
Ba lý do:
1. Đóng khoảng cách kernel Python ↔ CUDA C++. Trước giờ muốn chạm tile-level là phải viết CUTLASS/C++, cycle thử-nghiệm dài. TileLang + TileKernels chứng minh rằng Python DSL có thể ra kernel gần hardware limit cho các op thực dụng.
2. Open-source stack đầy đủ cho MoE trillion-param. Cộng với DeepGEMM (FP8 GEMM), FlashMLA (attention), 3FS (filesystem), và giờ TileKernels (routing/quant/activation) — DeepSeek đã open-source gần như toàn bộ infra training của mình.
3. Thách thức closed-stack phương Tây. Khi các kernel quan trọng nhất cho training LLM quy mô lớn đều có bản open-source chất lượng production, lợi thế của stack đóng từ các phòng lab Mỹ bị thu hẹp. Bài học từ DeepSeek-V3: bạn không cần độc quyền hạ tầng để ra model cạnh tranh — bạn chỉ cần kernel đủ tốt cho phần cứng sẵn có.
Và với team engineering nhỏ, ý nghĩa thực dụng là: muốn tune một op mới, không cần rành CUTLASS template metaprogramming. Viết TileLang, compile, đo, sửa. Cycle Python ngắn hơn CUDA C++ rõ rệt, nhất là khi đang chạy nghiên cứu kiến trúc model thay vì ship kernel generic.
Thông số kỹ thuật
| Property | Giá trị |
|---|---|
| Ngôn ngữ kernel | TileLang (Python DSL) |
| GPU hỗ trợ | SM90 (Hopper), SM100 (Blackwell) |
| CUDA Toolkit | 13.1+ |
| PyTorch | 2.10+ |
| Python | 3.10+ |
| TileLang | 0.1.9+ |
| License | MIT |
| Install | pip install tile-kernels |
| Repo stats (lúc launch) | 989 stars, 71 forks |
So sánh với các kernel library khác
| Library | Phạm vi | Ngôn ngữ | Phù hợp khi |
|---|---|---|---|
| NVIDIA CUTLASS | GEMM generic, rất rộng | C++ template | cần GEMM đa dạng, không ngại C++ |
| DeepGEMM | FP8 GEMM fine-grained scaling | CUDA | GEMM FP8 sạch, hẹp và nhanh |
| FlashMLA | Multi-head latent attention | CUDA/TileLang | decode attention cho DeepSeek-arch |
| TileKernels | MoE routing, quant, SwiGLU, RMSNorm, Sinkhorn | TileLang (Python) | tất cả op quanh GEMM, fuse sâu |
TileKernels không cạnh tranh trực tiếp với CUTLASS hay DeepGEMM — nó lấp chỗ trống giữa GEMM và phần còn lại của transformer. Đó là chỗ DeepSeek thấy bottleneck nhất khi training MoE quy mô trillion-param.
Về mặt hiệu năng, DeepSeek chưa publish bảng số cụ thể tại thời điểm launch. Claim duy nhất là kernel approach the limit of hardware performance — tức là gần trần băng thông bộ nhớ hoặc trần tính toán của thiết bị, tuỳ op. Với ops như quant cast, bottleneck thường là memory bandwidth; với gating top-k trên batch lớn, bottleneck là occupancy và shared-memory conflicts. Fuse sâu (quant + SwiGLU, gating + RMSNorm) là cách trực tiếp để ép cùng một dữ liệu làm nhiều việc hơn trong một lần load từ HBM.
Ai nên dùng
- Team training MoE lớn trên H100/H200/B200 — gating + routing kernel là nút cổ chai lớn ngoài GEMM, TileKernels fuse trực tiếp
- Ai deploy FP8/FP4 inference — SwiGLU + quant cast fused giảm memory bandwidth đáng kể so với tách 2 pass
- Researcher port kiến trúc DeepSeek-V3 / V3.2 — dùng đúng kernel DeepSeek dùng production
- Team muốn iterate kernel bằng Python — sửa TileLang rồi recompile nhanh hơn chu trình CUDA C++
- Contributor TileLang — TileKernels là reference implementation quy mô production, chuẩn để học pattern viết kernel đúng cách bằng DSL mới này
Ai không nên dùng: team vẫn stuck trên A100/Ampere, team chạy inference consumer GPU, team cần support AMD hoặc Google TPU, team có SLA không dám đổi toolchain sang CUDA 13.1 + PyTorch 2.10 ngay.
Giới hạn & pricing
- Miễn phí, MIT license — commercial use thoải mái
- Khoá phần cứng: chỉ Hopper + Blackwell. Không hỗ trợ Ampere (A100), không AMD, không consumer GPU
- Toolchain bleeding-edge: CUDA 13.1+, PyTorch 2.10+ — nhiều stack production chưa tới
- Tác giả tự nhận kernel chưa phải best practices — chấp nhận API có thể đổi, doc thiếu
- Chưa có bảng benchmark công khai — performance claim hiện mới là định tính (near hardware limits)
- Thêm dependency TileLang vào build pipeline
Sắp tới
Dựa trên pattern release trước của DeepSeek (DeepGEMM → FlashMLA → DualPipe → 3FS → TileKernels), kỳ vọng hợp lý trong các tháng tới:
- Bảng benchmark chính thức vs CUTLASS / Triton
- Mở rộng sang attention variants và thêm op fused
- Có thể mở rộng arch support theo roadmap TileLang
- Tích hợp ngược lại vào các repo model của DeepSeek
Nguồn: github.com/deepseek-ai/TileKernels, Startup Fortune, Fakta, TileLang docs.

