TileLang ile Yüksek Performanslı GPU Çekirdekleri Tasarlamak: Tensor GEMM'leri, Fused Softmax, FlashAttention ve Otomatik Ayarlama
TileLang, GPU çekirdeği oluşturmayı kolaylaştıran, Python tabanlı üst düzey bir alan spesifik dildir. Kılavuz, karmaşık görevlerin adım adım uygulanmasını gösterir: tensor GEMM'leri, fused softmax ve FlashAttention; derleyici düşük seviyeli CUDA ayrıntılarıyla ilgilenir.
Python tabanlı üst düzey bir alana özgü dil olan TileLang, yüksek performanslı GPU çekirdeklerinin tasarımını basitleştirmek için tanıtıldı. Bir eğitim, blok tabanlı Genel Matris Çarpımı (General Matrix Multiply - GEMM) tensör hesaplamaları gibi karmaşık iş yüklerinin tensör çekirdeklerinde adım adım uygulanmasını, birleştirilmiş yumuşak maksimum (fused softmax) ve FlashAttention'ı gösteriyor. Derleyici, karmaşık iş parçacığı eşlemesini, bellek düzenini ve düşük seviyeli CUDA talimatlarının oluşturulmasını otomatik olarak yöneterek geliştiricilerin algoritmik mantığa odaklanmasını sağlıyor.
Kaynak: MarkTechPost —
orijinal
