PyTorch TorchInductor integrado com CuteDSL como backend de autoajuste para multiplicação de matrizes

robot
Geração de resumo em curso

Notícias ME: Em 7 de abril (UTC+8), a equipa oficial do PyTorch anunciou recentemente que integrou o CuteDSL no TorchInductor como o quarto backend de auto-optimização para multiplicações de matrizes. A escolha desse backend baseou-se em três critérios: não aumentar demasiado a carga de manutenção, não atrasar o tempo de compilação ou de testes de benchmark, e oferecer melhor desempenho nas cargas de trabalho-alvo. O CuteDSL é desenvolvido ativamente pela NVIDIA e fornece modelos de kernels otimizados; o seu tempo de compilação é comparável ao dos backends existentes e é significativamente superior ao caminho em C++ do CUTLASS, que requer uma compilação completa com \nvcc. Este backend baseia-se em abstrações idênticas às do CUTLASS C++, é escrito em Python, compila mais rapidamente, é mais simples de manter e já demonstrou desempenho forte em FP8 GEMM e em fusão de Epilogue. A equipa está concentrada em otimizar o GEMM (multiplicação de matrizes), uma vez que este representa a maior parte do custo computacional nos modelos Transformer. O CuteDSL gera o código de baixo nível a partir de modelos manualmente otimizados, evitando a complexidade de escrever kernels do zero, e expõe totalmente a hierarquia de threads e de memória, suportando funcionalidades específicas da arquitetura. (Fonte: InFoQ)

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
Adicionar um comentário
Adicionar um comentário
Nenhum comentário
  • Fixar