ROCm/composable_kernel
[DEPRECATED] Moved to ROCm/rocm-libraries repo. NOTE: develop branch is maintained as a read-only mirror
解決的問題
Composable Kernel (CK) 提供了一種程式設計模型,用於建立高性能的機器學習工作負載內核。它解決了在不同硬體架構(例如各種 GPU 和 CPU)之間維持效能可移植性,同時保持程式碼可維護性的挑戰。
工作原理
CK 使用 HIP C++ 和兩種主要的技術概念來達成其目標:
- 基於分塊的程式設計模型:將運算組織成塊,以優化資料移動與處理。
- 張量座標轉換:一種用於降低複雜機器學習運算子演算法複雜度的技術。
該函式庫分為四個層級:模板化分塊運算子、模板化內核與呼叫器、實例化內核與呼叫器,以及客戶端 API。
適用對象
專為需要在多個硬體目標上高效執行的效能關鍵型 ML 內核開發者設計。
主要亮點
- 效能可移植性:支援多種 GPU 架構(例如 gfx908、gfx90a、gfx1100)和 CPU。
- 多層架構:將模板化邏輯與實例化內核分離,以提升可維護性。
- 廣泛的資料類型支援:支援多種精度,包括 fp64、fp32、tf32、fp16、fp8、bf16 和 int8。
- 整合工具鏈:包含分析器(ckProfiler)與程式碼產生系統。
相關
- 專案
- 專案
- 專案
- 專案
- 專案