同核數快1.3到10.7倍:ABACUS搬上鯤鵬920,科學計算這筆帳省在哪一欄
北京大學團隊完成ABACUS原子算籌在華為鯤鵬920全系列平臺的深度優化,19類材料核心算子改寫後,同核數配置下較業界主流x86 CPU快1.3至10.7倍,本文從算力成本結構與科學計算替代曲線拆解這筆帳。
刊登 閱讀約 5 分鐘
2026年10月31日晚間,華為計算發文,北京大學力學與工程科學學院陳默涵研究員團隊在北京大學鯤鵬昇騰科教創新卓越中心支持下,完成了國產密度泛函開源軟體ABACUS(原子算籌)在鯲鵬920全系列平臺的適配與深度優化,優化範圍覆蓋19類材料領域核心算子,程式碼已推送至GitHub開源社羣。
先看帳面數字。在與業界主流CPU相同的28核、28進程乘1執行緒配置下,採用SVE指令集的版本在標準測試集上快1.3至3.9倍;換到單節點滿核、啟用鯲鵬920內建矩陣運算單元的配置,最高快10.7倍。隨機波函數DFT算例的差距更大,SVE版本快2.8至3.1倍,矩陣運算指令集版本快6.1至20.1倍。
這組數字值得先對齊背景:ABACUS是國內自主研發的密度泛函理論(DFT)開源軟體,由多家單位聯合開發,國內外用戶超過一千人、應用單位過百家。DFT是研究半導體、金屬等關鍵材料性質的主流第一性原理方法,屬於高性能計算中典型的記憶體頻寬與浮點運算密集型負載。
適配層:先把閒置的硬體能力叫醒
優化的第一步不是演算法,而是編譯鏈與數學庫。鯲鵬920的幾個型號支援的向量指令集並不一致,分別是NEON、SVE與SVE512,另有一個專用矩陣運算單元。若沿用通用編譯選項,程式只會走最基礎的程式碼路徑,這些硬體能力實際處於閒置狀態,量測到的只是未調校的開箱成績。
團隊因此為三款晶片各自配了一條路徑:兩款採用gcc-openmpi-openblas,分別編譯NEON與SVE版本;第三款改用clang-hmpi-kblas,編譯SVE512與矩陣運算指令集版本。同時新增USE_KML編譯選項接入鯲鵬數學庫(KML),並處理KFFT與fftw3、KScaLAPACK與開源ScaLAPACK在函數簽名與預設行為上的差異,包含FFT介面的OMP配置調整,以及abstol與orfac兩個預設值的修改。
正確性驗證同步完成。NEON、SVE與矩陣運算三個版本的ABACUS都通過了平面波基組Kohn-Sham DFT、LCAO方法、隨機波函數DFT、深度學習泛函DeePKS等整合測試,數值結果與業界主流實現一致。性能測試則涵蓋GaAs、MoS2、Pt(111)、BaTiO3、Si等10個典型材料體系,規模從8到216個原子並採用週期性邊界條件。
演算法層:壓掉平方級複雜度才是主戰場
適配只解決能不能跑。DFT的算力主要消耗在一批被反覆呼叫的小算子上,而這些位置正是通用編譯器與數學庫的盲區:編譯器一次只能看一條語句、一個迴圈,看不到跨模組的重複計算;體系一大,部分操作的複雜度按平方增長,可計算的體系規模就卡在這裡。
團隊把19類核心算子抽出來逐項分析改寫,範圍涵蓋基礎數學函數、數值插值積分、球諧函數、矩陣變換、混合精度計算、TDDFT、DeePKS、近鄰搜尋與並行調度等模組。最見效的方向是壓掉平方級複雜度,例如廣義拉蓋爾多項式原本用遞迴實現,高階項計算時低階結果被反覆重算,調用量接近斐波那契式增長,改為迭代遞推後開銷大幅下降。
從成本結構看,這類優化的本質是用人月投入置換硬體開銷。對使用者而言,同樣的材料模擬任務,計算時間縮短至原先的三分之一到十分之一,等於在不增加資本支出的前提下擴充了有效算力;對叢集營運方而言,單位任務的機器時間成本同步下降。反過來說,這也暴露了跨架構移植的真實成本:三條編譯路徑、數學庫介面差異、預設值調整,每一項都是工程時間,而這筆投入通常只對高頻使用的軟體才劃算。
傳導與判斷
影響推演可以分兩層。受惠端首先是採用Arm架構伺服器的學術與材料研究單位,開源釋出意味著這些優化成果可被直接取用,省下自行調校的成本;其次,這類科學計算軟體的適配案例,對Arm伺服器在HPC市場的能見度有示範效果。承壓端則是x86生態在同一負載上的性價比敘事,當同核數配置的比較基準被公開且可重現,採購端的比價欄位就得重填。
需要保留的部分也明確:效能數字出自特定測試集(10個材料體系、8至216原子規模),不同負載下的差距未必相同;且此比較為同核數配置,未涉及總持有成本、節點價格與記憶體頻寬配置等採購決策變數。
整體而言,這則消息的意義在於展示了一條路徑:國產開源科學軟體與國產處理器的聯合調校,可以在不更換硬體的前提下,把材料模擬的單位算力成本壓下一個量級。至於這條路徑能否從材料計算擴展到更多HPC負載,取決於後續有多少軟體願意投入同規格的工程時間。