超微(AMD)與英特爾(INTC)共同設計的AI運算指令集擴充「AI運算擴展指令集」(AI Compute Extension,簡稱ACE)支援程式碼,已正式併入GCC 17開發樹。這代表x86處理器加速矩陣運算的編譯器支援工作已經啟動。
GCC專案於9月2日公開了ACEv1指令集的支援提交紀錄。這份GCC提交內容涵蓋ACE專屬的內建函式、tile運算、以外積為基礎的指令、FP8混合精度運算,以及tile資料搬移功能。
ACE本質上是一組讓x86處理器處理矩陣乘法(AI模型的核心運算)的指令集擴充。根據AMD與英特爾共同撰寫的ACE白皮書,在使用相同數量AVX10輸入向量的前提下,ACE的外積運算「計算密度」最高可比AVX10對應的乘加運算高出16倍。
不過這個16倍的數字,並不代表整體應用程式效能會直接提升16倍。這只是特定矩陣運算架構下的理論處理量比較,實際效能表現仍取決於搭載ACE的處理器設計,以及軟體端的實作方式。
ACEv1支援INT8、OCP FP8、OCP MXFP8、OCP MXINT8、BF16等低精度AI運算格式。低精度運算通常用在部分推論任務上,藉此降低記憶體用量與運算負擔。
值得留意的是,ACE有部分程式設計模型沿用自英特爾既有的「進階矩陣擴展指令集」(AMX)。不過根據GCC開發者郵件列表上公開的ACEv1修補說明,ACE不能與既有的AMX混用,兩者使用的內建函式名稱也不相同。
換句話說,既有的AMX程式碼並不能直接搬到ACE處理器上執行而不做任何修改。ACE雖然與AMX共用部分概念,但仍是一套獨立的指令集與內建函式體系。
LLVM陣營同樣在推進ACEv1的支援工作。一名AMD工程師提交的LLVM開發分支中,已記錄了針對ACE的tile運算、外積指令、FP8運算與tile資料搬移所做的編譯器及Clang修改內容。
這波變化的重點其實不在硬體上市,而在軟體生態系的準備。只要編譯器能識別ACE指令與內建函式,作業系統、函式庫與AI框架未來就有基礎可以針對ACE進行最佳化。
需要強調的是,編譯器支援與處理器實際上市是兩回事。就目前公開的資料來看,尚未確認有支援ACE的商用處理器,也沒有明確的上市時程。
AMD與英特爾公布的ACEv1規格書也明確表示,相關產品與路線圖目前仍處於設計階段,可能在不預先通知的情況下變動。因此外界提出的特定上市時間點,目前都很難視為官方確定的時程。
ACE要真正在產業界派上用場,除了相容處理器問世,GCC與LLVM的支援也需要進一步穩定下來。作業系統、函式庫與AI框架是否跟進支援ACE,同樣是需要持續確認的環節。
低精度矩陣運算在AI推論中,主要用來降低記憶體用量與運算負擔。不過支援的格式能否真正轉化為實際效能提升,還是要看處理器架構與軟體最佳化的程度而定。
隨著AMD與英特爾共同鎖定的x86指令集架構分別進入GCC與LLVM的開發階段,開發工具層面的準備工作可說已經展開。至於ACE最終能否商用化、實際效能表現如何,仍要等相容處理器與軟體支援公開後才能判斷。
留言 0