Ontwerpen van Hoogwaardige GPU-Kernen met TileLang: Tensor-GEMMs, Gefuseerde Softmax, FlashAttention en Automatische Afstemming
TileLang is een hoogwaardige domeinspecifieke taal in Python voor het vereenvoudigen van het maken van GPU-kernen. De gids demonstreert stap-voor-stap implementatie van complexe taken: tensor-GEMMs, gefuseerde softmax en FlashAttention, waarbij de compiler de laagwaardige CUDA-details afhandelt.
TileLang, een hoogwaardige domeinspecifieke taal gebaseerd op Python, is geïntroduceerd om het ontwerp van krachtige GPU-kernels te vereenvoudigen. Een tutorial laat stap voor stap de implementatie zien van complexe workloads, waaronder bloksgewijze GEMM-tensorberekeningen op tensor-kernen, gefuseerde softmax en FlashAttention. De compiler handelt automatisch de ingewikkelde thread-toewijzing, geheugenlay-out en het genereren van low-level CUDA-instructies af, waardoor ontwikkelaars zich kunnen concentreren op algoritmische logica in plaats van handmatige optimalisatie.
Bron: MarkTechPost —
origineel
