iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

GPU 效能優化實戰:30 天從 Kernel 到 Profiling (重賽版) 系列

我這一生如履薄冰,你說我能優化這個 Kernel 嗎?

「我這版一定比較快。」——每個開始改 CUDA Kernel 的人,應該都曾經這麼想過。然後打開 Profiler:蛤,怎麼更慢了。
這 30 天想拿一些實際的 Kernel(以及以前寫過的東西)出來鞭屍。大概每三天一個小循環:實作 → Profile 抓戰犯 → 優化 → 看數字,試著從數據裡找出「為什麼慢」以及「憑什麼覺得還能更快」。
Memory、Warp、Occupancy、PTX……能踩的坑應該都會踩一點。
P.S. 重賽板我回盡量有趣一點ㄉ
這次能不能順利完賽...我也不知道...

參賽天數 26 天 | 共 26 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day 1:所以,蝦米是「優化」? (重賽版 )

因為耍笨忘記發文所以中斷ㄌ...還雷到團體賽的隊友...10分有11分的抱歉但聽說重賽完成還是可以拿獎牌.... 想說 不寫白不寫 不然 就... 所以來ㄌ個重...

2026-08-21 ‧ 由 aloha_1357 分享
DAY 2

Day 2|走進一顆 GPU:Thread、Warp、Block 到底都在做什麼? (重賽版 )

昨天我們聊的是「什麼叫做優化」。一個 Kernel 跑 100 ms,光看這個數字其實沒有太多意義。你至少得知道原本多快、改了什麼,以及時間究竟花在哪裡。 但要...

2026-08-22 ‧ 由 aloha_1357 分享
DAY 3

Day 3 — 先猜,再問硬體 (重賽版)

Day 3 — 先猜,再問硬體 (還在趕草稿 可惡><) Day 2 我們一路從 Thread、Warp 看到 Block,最後把 naïve GE...

2026-08-23 ‧ 由 aloha_1357 分享
DAY 4

RE: Day 4|GEMM 要高精度的時候,RTX 4060 先把路封了 (重賽版)

這篇是重賽版。 原版 Day 4 有一段「今天很雷包,但文章還是要繼續」的心情開場。那段不是不要了,只是這次先收去文末註解。因為今天要講的不是我的心情,是一個更...

2026-08-24 ‧ 由 aloha_1357 分享
DAY 5

Day 5|Ozaki 在切,中國餘數定理在拼 (ㄔㄨㄥˊ 賽版)

昨天從 GEMM 講起:同一句 C = A × B 有很多算法,其中一條路需要很高的精度,但消費級卡把 FP64 閹得很慘。 不過老實說 你真的看過昨天的內容嗎...

2026-08-25 ‧ 由 aloha_1357 分享
DAY 6

Day 6|把數學收成三顆 kernel (重賽版)

Day 6|先把 Ozaki / CRT 拆成 pipeline 昨天我們把原理講完了。 今天先不急著寫到 PTX、GPU Assembly,或是 mma.sy...

2026-08-26 ‧ 由 aloha_1357 分享
DAY 7

Day 7|CRT 表:7 個質數怎麼拼回一個大整數 (重賽版)

Day 7|CRT 表:7 個質數怎麼拼回一個大整數 昨天把 Phase 22 拆成三段: 建構 CRT → 求餘數 → INT8 GEMM → CRT 重建...

2026-08-27 ‧ 由 aloha_1357 分享
DAY 8

Day 8|INT8 GEMM:先把答案算對(重賽版)

前兩天我們做了兩件事: Day 6:把 Phase 22 拆成三段 pipeline Day 7:把 CRT 表和 reconstruct kernel 講清楚...

2026-08-28 ‧ 由 aloha_1357 分享
DAY 9

Day 9|INT8 GEMM:真的走上 Tensor Core (重賽版)

(我故意把原版的放著 然後就拖到現在的進度了 等我重賽版的上完 再放回去原本的版本ㄅ) 昨天我們把 A8 @ B8 拆成最笨的 naive INT8 GEMM。...

2026-08-29 ‧ 由 aloha_1357 分享
DAY 10

Day 10|把精度補齊:從能跑到能算準 (重賽版)

前幾天我們已經把幾個零件拆開看過了。 Day 6 先把問題拆成 pipeline: 選模數 / 建 CRT 空間 -> 把輸入轉成餘數矩陣 -> I...

2026-08-30 ‧ 由 aloha_1357 分享