Projetando Núcleos de GPU de Alto Desempenho com TileLang: Tensor GEMMs, Softmax Fundido, FlashAttention e Ajuste Automático
TileLang é uma linguagem específica de domínio de alto nível em Python para simplificar a criação de núcleos de GPU. O guia demonstra a implementação passo a passo de tarefas complexas: tensor GEMMs, softmax fundido e FlashAttention, onde o compilador lida com detalhes de baixo nível do CUDA.
TileLang, uma linguagem específica de domínio de alto nível construída sobre Python, foi introduzida para simplificar o design de kernels de GPU de alto desempenho. Um tutorial demonstra a implementação passo a passo de cargas de trabalho complexas, incluindo computações tensoriais GEMM em blocos em núcleos tensoriais, softmax fundido e FlashAttention. O compilador lida automaticamente com o mapeamento intricado de threads, layout de memória e geração de instruções CUDA de baixo nível, permitindo que os desenvolvedores se concentrem na lógica algorítmica em vez da otimização manual.
Fonte: MarkTechPost —
original
