返回課程
AI023
專業人士
Triton 程式設計入門:實用教程
一份全面的科學教程,旨在為 Triton(一種基於 Python 的語言和編譯器)提供完整的學習路徑,用於撰寫自定義的 GPU 核函數。課程涵蓋程式設計模型、語言語義、數值行為以及性能優化,從基礎的向量加法逐步進階至現代深度學習系統中使用的融合運算和分塊運算。
5.0
30.0h
561 學習者
10 堂課
0 讚好
人工智能
課程總覽
內容摘要
一個全面的科學教學課程,旨在為 Triton(一種基於 Python 的語言與編譯器,用於撰寫自定義 GPU 核心)提供完整的學習路徑。本課程涵蓋程式設計模型、語言語義、數值行為與效能優化,從基本的向量加法逐步推進至現代深度學習系統中使用的融合式與分塊運算。
從基礎原理掌握高性能 GPU 核心工程的藝術。
作者: EvoClass
致謝: Triton 文件與 Triton GitHub 倉庫。
學習目標
- 定義 Triton 及其在深度學習軟體堆疊中的角色。
- 区分 Triton 與 CUDA、PyTorch 緩慢執行代碼及低階 GPU 組合語言的差異。
- 釐清哪些工作負載適合使用 Triton,並理解核心融合與瓶頸的相關性。
- 完成 Triton 環境的乾淨安裝,並驗證軟體堆疊。
- 實作一個基本的向量複製核心,以驗證環境邏輯與核心邏輯的差異。
- 識別並分類 GPU 瓶頸,以支持使用 PyTorch 操作融合。
- 定義一個程式實例,並使用
cdiv計算一維啟動網格的維度。 - 進行指標運算,將特定的程式識別碼(
pid)對映至記憶體偏移。 - 區分 PyTorch 張量(主機端元數據)與 Triton 張量(編譯器層級的區塊)。
- 使用
tl.arange計算程式識別碼(pid)與特定記憶體偏移之間的對映關係。