iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

GPU 效能優化實戰:30 天從 Kernel 到 Profiling 系列

我這一生如履薄冰,你說我能優化這個 Kernel 嗎?
我這一生如綠豆糕,可不可以讓我遠離棋盤?
我也不知道。

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

參賽天數 3 天 | 共 8 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文 團隊源來適愛開緣
DAY 1

Day 1:所以,蝦米是「優化」?

所以,蝦米是優化? 首先,蝦米是優化? 假設今天我們手上有一個 Kernel、一個程式,或者 whatever,反正我們現在只知道一件事情:它跑了 100 ms...

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

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

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

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

Day 3 — 先猜,再問硬體

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

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

Day 4|GEMM 要高精度的時候,4060 先把路封了

Day 4|GEMM 要高精度的時候,4060 先把路封了 知恥而後勇,是我的一種信念。但有時候我也覺得自己已經不是勇不勇,是有點傻了,哈哈哈哈。言而總之,今天...

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

Day 5|Ozaki 在切,中國餘數定理在拼

昨天從 GEMM 講起:同一句 C = A × B 有很多算法,其中一條路需要很高的精度,但消費級卡把 FP64 閹得很慘。 然後留下一個比較討厭的問題: 既...

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

Day 6|把數學收成三顆 kernel

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

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

Day 7|CRT 表:7 個質數怎麼拼回一個大整數

昨天把 Phase 22 拆成三段: 建構 CRT → 求餘數 → INT8 GEMM → CRT 重建 今天只看第一段。 問題很小: 這 7 個質數跟那些...

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

Day 8|INT8 GEMM:先把答案算對

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

2026-08-25 ‧ 由 aloha_1357 分享