Pengantar Pemrograman Triton: Tutorial Praktis
Tutorial ilmiah komprehensif yang dirancang untuk memberikan jalur pembelajaran lengkap tentang Triton, bahasa berbasis Python dan compiler untuk menulis kernel GPU khusus. Kursus ini mencakup model pemrograman, semantik bahasa, perilaku numerik, dan optimasi kinerja, mulai dari penjumlahan vektor dasar hingga operator yang digabungkan dan dibagi-bagi yang digunakan dalam sistem pembelajaran mendalam modern.
Gambaran Umum Kursus
Ringkasan Konten
Sebuah tutorial ilmiah komprehensif yang dirancang untuk memberikan jalur pembelajaran lengkap tentang Triton, bahasa berbasis Python dan compiler untuk menulis kernel GPU khusus. Kursus ini mencakup model pemrograman, semantik bahasa, perilaku numerik, dan optimasi kinerja, mulai dari penjumlahan vektor dasar hingga operator terfusi dan berbentuk ubin yang digunakan dalam sistem pembelajaran mendalam modern.
Menguasai seni rekayasa kernel GPU berkinerja tinggi dari prinsip-prinsip dasar.
Penulis: EvoClass
Ucapan Terima Kasih: Dokumentasi Triton dan repositori GitHub Triton.
Tujuan Pembelajaran
- Mendefinisikan Triton dan perannya dalam tumpukan perangkat lunak pembelajaran mendalam.
- Membedakan Triton dari CUDA, kode PyTorch eager, dan assembly GPU tingkat rendah.
- Mengidentifikasi beban kerja yang sesuai sebagai kandidat untuk Triton serta memahami relevansi fusi kernel dan bottleneck.
- Melakukan instalasi bersih lingkungan Triton dan memverifikasi tumpukan perangkat lunak.
- Menerapkan kernel salin vektor dasar untuk memvalidasi logika lingkungan dibandingkan logika kernel.
- Mengidentifikasi dan mengklasifikasikan bottleneck GPU untuk mendukung penggunaan fusi operator PyTorch.
- Mendefinisikan instance program dan menghitung dimensi grid peluncuran 1D menggunakan
cdiv. - Melakukan aritmetika pointer untuk memetakan ID program tertentu (
pid) ke offset memori. - Membedakan antara tensor PyTorch (metadata sisi host) dan tensor Triton (blok tingkat compiler).
- Menghitung pemetaan antara ID Program (
pid) dan offset memori tertentu menggunakantl.arange.