TileLang (DSL для написания кернелов, представленный на ICLR 2026), как мне кажется, один из самых перспективных языков для написания кернелов.
С одной стороны, дает гораздо больший контроль над результатом, так как пользователь может явно работать с разными видами памяти (регистры, shared memory / tensor memory), с разбиением задач на блоки и потоки, контролировать тип используемых gemm-ов, задавать синхронизации, барьеры, и многое другое. И в то же время он все еще значительно проще в освоении и в синтаксисе, чем CUDA + CUTLASS, CuTe DSL.
Из проектов и реализаций, использующих его стоит отметить:
• TileKernels от DeepSeek
• FlashQLA от Qwen3
• tilelang-ascend (адаптация tilelang под хуавеевские асценды)
Из обучающих материалов могу порекомендовать:
• tilelang-puzzles - набор задачек возрастающей сложности, чтобы пощупать язык
• Примеры из оригинального репозитория
• Туториал по написанию FlashAttention под AMDшные GPU
Мне он видится как довольно хороший баланс между эффективностью / гибкостью и сложностью в освоении.
Post #735
2.2K
- 🔥 14
- ❤ 3