Thiết kế lõi GPU hiệu năng cao với TileLang: Tensor GEMMs, Fused Softmax, FlashAttention và Tự động tinh chỉnh
TileLang là một ngôn ngữ chuyên biệt cấp cao trong Python giúp đơn giản hóa việc tạo kernel GPU. Hướng dẫn trình bày từng bước triển khai các tác vụ phức tạp: tensor GEMMs, fused softmax và FlashAttention, trong đó trình biên dịch xử lý các chi tiết CUDA cấp thấp.
TileLang, một ngôn ngữ chuyên biệt (domain-specific language) cấp cao được xây dựng trên nền Python, đã ra mắt nhằm đơn giản hóa việc thiết kế các kernel GPU hiệu năng cao. Một hướng dẫn (tutorial) trình bày từng bước triển khai các khối lượng công việc phức tạp, bao gồm phép tính tensor GEMM theo khối (blockwise) trên tensor core, softmax hợp nhất (fused softmax) và FlashAttention. Trình biên dịch tự động xử lý việc ánh xạ luồng (thread mapping), bố trí bộ nhớ và sinh mã lệnh CUDA cấp thấp phức tạp, cho phép các nhà phát triển tập trung vào logic thuật toán thay vì phải tối ưu hóa thủ công.
Nguồn: MarkTechPost —
bản gốc
