蘋果官方投影片詳解A17 Pro和M3的三項GPU增強功能的實際作用
使用Metal API 的應用程式和遊戲以Apple Silicon GPU 的特定功能為目標,M3 和A17 Pro 的平行處理能力得到了顯著提升,使其效能更上一層樓。蘋果公司發布了關於這些新的Apple Silicon GPU 功能的開發者講座,詳細介紹了實現改進效果的具體過程。影片介紹了大量技術細節,但也提供了足夠的基本解釋。
使用Metal API 建立應用程式的開發者無需對其應用程式做任何修改,就能看到M3 和A17 Pro 的效能提升。這些晶片組利用動態快取、硬體加速光線追蹤和硬體加速網格映射技術,使GPU 的效能空前提高。
動態著色器核心內存
新一代著色器核心讓動態快取成為可能。利用A17 Pro 和M3 中的最新GPU 內核,這些著色器可以比以前更有效率地並行運行,從而大幅提高輸出效能。
虛線表示浪費的暫存器內存
通常情況下,GPU 只能根據一個已執行動作中頻寬最高的進程來分配寄存器內存,並持續該動作。因此,如果一個動作的某個部分比其他部分需要更多的寄存器內存,那麼該動作的某個進程就會佔用更多的寄存器內存。
動態快取允許GPU 為其正在執行的每個操作精確分配適量的暫存器記憶體。以前不可用的暫存器記憶體被釋放出來,從而可以並行執行更多的著色器任務。
靈活的片上內存
以前,片上記憶體會為暫存器、執行緒組和帶有緩衝快取的磁貼記憶體分配固定的記憶體。這意味著,如果某項操作使用的記憶體類型多於另一種,就會有很大一部分記憶體閒置。
整個晶片記憶體都可用作高速緩存
有了靈活的片上內存,所有片上內存都是緩存,可用於任何內存類型。因此,嚴重依賴線程組內存的操作可以利用整個片上內存,甚至溢出到主內存中。
著色器內核可動態調整片上記憶體佔用率,以最大限度地提高效能。這意味著開發人員可以花更少的時間來優化佔用率。
著色器內核的高性能ALU 管線
Apple 建議開發人員在程式中執行FP16 數學運算,但高效能ALU 可並行執行整數、FP32 和FP16 的不同組合。指令在並行執行的不同操作中執行,這意味著ALU 利用率會隨著佔用率的提高而提高。
利用高性能ALU 管線增加並行操作
基本上,如果不同的操作包含相同的FP32 或FP16 指令,而這些指令將在不同的時間點執行,則可以重疊執行以提高並行性。
硬體加速圖形管線
硬體加速的光線追蹤可將重要的交點運算從GPU 功能中移除,大幅加快處理速度。由於部分計算由硬體完成,因此可以並行進行更多操作,從而透過硬體組件加速光線追蹤。
硬體加速取代片上進程
硬體加速網格著色採用了類似的方法。它將幾何計算管線的中間部分交給一個專用單元,從而實現更多並行操作。
這些都是複雜的系統,不是幾段文字就能說清楚的話。我們建議大家觀看影片《Explore GPU advancements in M3 and A17 Pro》了解所有細節,並牢記一點–A17 Pro 和M3 專注於計算並行性,以加快任務執行速度。
M3 可用於MacBook Pro 和24 吋iMac。A17 Pro 可用於iPhone 15 Pro。