什麼是運算融合(Operator fusion)
將多個運算合併成一個核心函式,省去把中間結果寫入記憶體再讀回的開銷的最佳化。
日文名稱: 演算の融合
「運算融合(Operator fusion)」出現在2領域的2道練習題中(AI硬體與軟體堆疊, 效能評估與效能剖析等)。
這個名詞所屬的領域: AI硬體與軟體堆疊
將多個運算合併成一個核心函式,省去把中間結果寫入記憶體再讀回的開銷的最佳化。
日文名稱: 演算の融合
「運算融合(Operator fusion)」出現在2領域的2道練習題中(AI硬體與軟體堆疊, 效能評估與效能剖析等)。
這個名詞所屬的領域: AI硬體與軟體堆疊
正確答案:A. 將多個運算合併為一個kernel,省去把中間結果寫入記憶體再重讀的負擔
矩陣相乘之後,經常接著加上偏差、啟動函數、正規化等逐元素運算。若以不同的kernel分別進行,每次都要把中間結果寫入記憶體,再由下一個kernel重讀,因此花在記憶體讀寫上的時間比計算還多。若合併為一個kernel,就能把中間結果留在暫存器或晶片上的記憶體中繼續計算。
藉由分塊或運算融合(fusion)反覆使用資料,增加每位元組的運算數(運算強度),處理就會往圖的右方移動,上限也隨之提高。
在屋頂線模型(Roofline model)中,得知某處理位於受記憶體頻寬限制的區域時,提升效能的方向下列何者正確?Roofline 模型(Roofline model) 運算強度(Arithmetic intensity) 反向傳播(Backpropagation) 全歸約(All-reduce) 批次大小(Batch size) 注意力機制(Attention mechanism) 知識蒸餾(Knowledge distillation) 計算圖(Computational graph) 訓練後量化(Post-training quantization) 剪枝(Pruning)