這系列文章分享我碩一學習 AI compiler 旅程,從 RISC-V CPU、NVIDIA GPU 到 Tenstorrent ASIC , 觀察 AI compiler 是扮演什麼樣的角色,在不同硬體架構是如何優化。
Day01 到 Day09 走了兩條 RISC-V CPU 最佳化路線。第一條從 RVV intrinsic 開始,手寫 C++ kernel,再透過 torc...
前十天一直盯著 RISC-V CPU、RVV intrinsic、SGLang RVV 後端和 PyTorch Inductor RVV,滿腦子都是 CPU c...
昨天介紹了從工作組織、硬體執行、資料存取三個角度拆解 NVIDIA GPU 的 grid、block、warp、thread 是工作,SM 是執行工作的硬體,r...
前天我們看到 NVIDIA GPU 架構,提到 SM、warp、shared memory 與 Tensor Core,昨天看到 CUDA、CuTeDSL、cu...
昨天介紹 MLIR 為什麼使用多層 IR。今天把這個概念放進 Triton JIT 路徑,同一個 Python 矩陣乘法,如何在第一次 launch 時依參數與...
昨天已經在 ASUS Ascent GX10 上產生一組固定 artifact,今天先從 TTIR 開始,看 Python kernel 進入 compiler...
昨天的 TTIR 還看得出這個 kernel 在算 (64×32) @ (32×64),但 tensor element 到底怎麼分給 GPU thread,這...
昨天已經看到 ttg.async_copy_global_to_local、shared-memory descriptor 與 NVIDIA MMA layo...
昨天的 LLVM IR 已經出現 cp.async、ldmatrix 與 mma.sync。今天沿用同一份 artifact,看 LLVM NVPTX back...
昨天已經用 ptxas 把 PTX 組成 SM121 binary。今天剩下最後兩個問題:cubin 裡到底放了什麼?Triton runtime 又怎麼把它載...