🌗 奇怪的是,GPU 矩陣乘法在給予「可預測」資料時執行得更快!
➤ 揭開 GPU 效能與資料可預測性的意外關聯:動態功耗的幕後影響
https://www.thonking.ai/p/strangely-matrix-multiplications
作者在測試 GPU 上的矩陣乘法效能時,意外發現了令人費解的現象:當輸入資料「可預測」(例如全為零或全為一)時,運算速度竟然比輸入隨機資料更快。這項發現源於他將 CUTLASS 函式庫的效能評測結果,與透過 PyTorch 呼叫 CuBLAS 的結果進行比較。起初,CUTLASS 的內部評測工具顯示出顯著的效能優勢,但在 Python 環境下測試時,這些優勢卻消失了。經過仔細的程式碼比對,他發現 CUTLASS 的評測工具預設以整數初始化輸入資料。隨後,他使用 `torch.zeros` 和 `torch.randn` 進行實驗,證實了資料內容確實會影響矩陣乘法的執行時間。
作者進一步探究,揭示了此現象背後的原因是半導體中的
#GPU 效能 #矩陣乘法 #CUTLASS #CuBLAS #功耗限制 #半導體 #動態功耗 #A100
Strangely, Matrix Multiplications on GPUs Run Faster When Given "Predictable" Data! [short]

Great minds discuss flops per watt.

Thonk From First Principles