O que é TileKernels?
TileKernels é a biblioteca de kernels de GPU da DeepSeek escrita em TileLang, uma linguagem baseada em Python para código de GPU de alto desempenho. Ela cobre as operações de que os modelos recentes da DeepSeek dependem: seleção e pontuação top-k de especialistas para o roteamento mixture-of-experts, conversão FP8 e FP4 por token, por bloco e por canal com SwiGLU e quantização fundidos, kernels de gating para o Engram (o módulo de memória da DeepSeek) com passagens para frente e para trás, e kernels de manifold hyper-connection (mHC), incluindo a normalização de Sinkhorn, além de kernels de RoPE e de números aleatórios. O README diz que a maioria dos kernels roda perto do limite de computação ou de largura de banda de memória do hardware e que todos são usados no treinamento e na inferência internos da DeepSeek.
Ela é instalada pelo PyPI como tile-kernels e exige Python 3.12, PyTorch 2.13 e TileLang 0.1.15 ou mais recente. Na Nvidia, aceita apenas GPUs SM90 e SM100 (as gerações H100 e B200) com CUDA 13.1 ou mais recente. A versão 2.0.0, de setembro de 2026, adicionou um backend Huawei Ascend para a NPU Ascend 950 com CANN 9.2.0, escolhido automaticamente em tempo de execução por trás da mesma API Python. O código tem licença MIT.
TileKernels vale a pena?
TileKernels importa menos como dependência do que como evidência. Engram e as manifold hyper-connections são ideias de arquitetura da própria DeepSeek, e a Redeep descreve este repositório como a primeira implementação pública das duas em nível de kernel; o artigo do DeepSeek-V4 diz que a equipe adotou o TileLang para seus kernels fundidos porque ele combina desenvolvimento rápido com otimização profunda em uma única base de código. Uma análise da Redeep de junho de 2026 contou 44 operadores em cinco módulos (14 para roteamento MoE, 15 para quantização, 10 para mHC, 5 para Engram e 1 de transposição); kernels de RoPE e de números aleatórios foram adicionados depois.
A exigência de hardware é alta. Na Nvidia, só servem chips SM90 e SM100, então uma RTX 4090 (SM89) fica de fora, e uma issue aberta relata que os kernels de Sinkhorn do Engram passam dos 100 KB de memória compartilhada no Blackwell de consumo (SM120). O backend Ascend da versão 2.0.0 é suporte real, não uma promessa do TileLang, o que o torna um dos poucos conjuntos de kernels abertos que executam as mesmas chamadas Python em hardware da Nvidia e da Huawei. O README não publica tabelas de benchmark; a alegação de desempenho perto do limite se apoia nos benchmarks de pytest incluídos, que você mesmo roda com --run-benchmark.
O modelo de manutenção é a principal contrapartida. O branch principal tem sete commits: a publicação inicial em 23 de abril de 2026 e depois duas entregas de versão, a 2.0.0 em 30 de setembro e a 2.1.0 em 14 de outubro. Contribuições externas esperam: há 16 pull requests abertos, incluindo ports para AMD ROCm e Moore Threads MUSA, enquanto os únicos pull requests mesclados são uma correção de comentários do dia do lançamento e as duas entregas de versão. Com cerca de 2.100 estrelas, é uma fração das aproximadamente 9.000 do TileLang.
Para uma equipe que treina um modelo mixture-of-experts no estilo da DeepSeek com FP8 em clusters H100 ou B200, são kernels testados e usados em produção que poupam semanas escrevendo os seus. Para todo o resto, como um modelo denso comum, GPUs mais antigas ou uma pilha de serving como o vLLM, que já traz seus próprios kernels, TileKernels é sobretudo código de referência para ler.
Onde ele se destaca
Um engenheiro de infraestrutura em um laboratório que pré-treina um modelo MoE de 200 especialistas em nós H100
Trocar o gating top-k e a conversão FP8 lentos do PyTorch por kernels fundidos
pip install tile-kernels, substitua as chamadas de gating e de conversão FP8 por bloco pelas versões da biblioteca e confira cada uma contra as implementações de referência em PyTorch de tile_kernels/torch com os testes incluídos. Gratuito sob MIT; a economia está em semanas de engenharia, não em licenças.
Um engenheiro de pesquisa que reproduz a arquitetura do DeepSeek-V4
Ler como o gating do Engram e as manifold hyper-connections são de fato implementados
Estude os módulos engram e mhc junto com o código de referência em PyTorch e depois use o wrapper torch.autograd.Function do gate do Engram em um treino pequeno. Os kernels exigem uma GPU SM90 ou SM100, então alugar uma H100 é o jeito mais barato de rodá-los.
Uma equipe de plataforma em um provedor de nuvem chinês que opera aceleradores Nvidia e Huawei
Manter um único caminho de código de kernels em frotas H100 e Ascend 950
Desde a versão 2.0.0, a biblioteca escolhe o backend CUDA ou Ascend em tempo de execução por trás das mesmas chamadas Python, então uma única base de código do modelo roda nos dois. O Ascend exige CANN 9.2.0 ou mais recente.
Antes de decidir
- Configuração
- pip install tile-kernels, ou pip install -e ".[dev]" a partir de um clone. Exige Python 3.12+, PyTorch 2.13+, TileLang 0.1.15+ e uma GPU SM90/SM100 com CUDA 13.1+ ou uma NPU Ascend 950 com CANN 9.2.0+. TK_TEST_LEVEL=0 python -m pytest -n 4 roda os testes principais.
- Integrações
- Tensores PyTorch de entrada e saída, com implementações de referência em PyTorch para cada kernel e um wrapper de autograd para o gate do Engram. Construído sobre o TileLang; lançado ao lado do DeepGEMM e do FlashMLA da DeepSeek, sem substituí-los.
- Dados e privacidade
- Uma biblioteca local, sem chamadas de rede ou telemetria descritas no README. A licença MIT permite uso comercial. Não há avisos de segurança publicados.
- Custo em escala
- O software é gratuito. O custo real é a exigência de hardware: só GPUs de data center Hopper e Blackwell ou NPUs Ascend 950 o executam.
- Limites
- GPUs de consumo sem suporte, com uma issue aberta sobre os limites de memória compartilhada da SM120; sem suporte mesclado a AMD ou MUSA; atualizações chegam em entregas de versão pouco frequentes; a documentação é um README curto.
O que é bom
- Kernels de produção que a DeepSeek usa internamente
- Primeiros kernels públicos de Engram e mHC
- Mesma API Python em Nvidia SM90/SM100 e Ascend 950
- Licença MIT; instalável com pip, com benchmarks de pytest
O que não é
- Sem suporte a GPUs de consumo ou anteriores à Hopper
- O código chega em entregas de versão; ports da comunidade esperam sem merge
- Sem tabelas de benchmark publicadas
- Útil apenas para arquiteturas parecidas com as da DeepSeek
Ideal para
Engenheiros de infraestrutura de ML que treinam ou servem modelos MoE no estilo da DeepSeek com FP8 em hardware H100, B200 ou Ascend 950.
Alternativas ao TileKernels
TileKernels: perguntas frequentes
- TileKernels vale a pena?
- TileKernels é a visão mais clara até agora dos kernels por trás dos modelos da DeepSeek, e código de produção para quem constrói a mesma arquitetura, mas é uma entrega de código da DeepSeek, não uma biblioteca comunitária. Damos nota 3.8 de 5.
- Quanto custa TileKernels?
- Gratuito e de código aberto sob a licença MIT.
- Quais são as desvantagens de TileKernels?
- Sem suporte a GPUs de consumo ou anteriores à Hopper; o código chega em entregas de versão; ports da comunidade esperam sem merge; sem tabelas de benchmark publicadas; útil apenas para arquiteturas parecidas com as da DeepSeek.
- Para quem TileKernels é indicado?
- Engenheiros de infraestrutura de ML que treinam ou servem modelos MoE no estilo da DeepSeek com FP8 em hardware H100, B200 ou Ascend 950.
- Quanto custa TileKernels para uma equipe ou em produção?
- O software é gratuito. O custo real é a exigência de hardware: só GPUs de data center Hopper e Blackwell ou NPUs Ascend 950 o executam.
- TileKernels é seguro para dados da empresa?
- Uma biblioteca local, sem chamadas de rede ou telemetria descritas no README. A licença MIT permite uso comercial. Não há avisos de segurança publicados.
- Quais são as melhores alternativas ao TileKernels?
- As alternativas mais próximas que analisamos são SGLang, vLLM e TensorRT-LLM.
Respostas verificadas em 13 de nov. de 2026.