北大团队优化ABACUS软件,鲲鹏920性能超主流x86
北京大学团队完成ABACUS软件在华为鲲鹏920平台的深度适配与优化,在特定配置下计算速度最高提升10.7倍,相关代码已开源。
11月1日消息,北京大学力学与工程科学学院陈默涵研究员团队近日宣布,已完成国产密度泛函开源软件ABACUS(原子算筹)在华为鲲鹏920全系列平台上的适配工作。通过针对19类材料领域核心算子的逐项优化,该团队在标准测试集上实现了显着的性能突破,部分场景下计算速度超越同代主流x86硬件。
ABACUS是由多家单位联合开发的国内自主研发第一性原理软件,基于密度泛函理论(DFT),广泛应用于半导体、金属等关键材料性质的研究。目前该软件国内外用户超过一千人,应用单位过百家。此次优化工作是在北京大学鲲鹏升腾科教创新卓越中心支持下进行的,旨在解决大型科学计算软件在国产硬件上的运行效率问题。
硬件适配与算法层双重优化
团队首先解决了编译链和数学库依赖的打通问题。由于鲲鹏920不同型号支持的向量指令集(NEON、SVE、SVE512)及内置矩阵运算单元存在差异,通用编译选项无法充分发挥硬件能力。团队为三款芯片分别适配了不同的编译路径,并新增USE_KML编译选项以接入鲲鹏数学库(KML),同时调整了FFT接口配置及默认参数,确保软件在各类硬件上均能正确运行。
在确保数值结果与业界主流实现一致后,团队深入算法层进行优化。DFT计算中大量算力消耗在反复调用的小算子上,而通用编译器难以处理跨模块的重复计算及平方级复杂度增长问题。团队将19类核心算子抽出,通过降低复杂度、消除重复运算及优化内存访问等手段进行改写。例如,将广义拉盖尔多项式的递归算法改为迭代递推,使百万次调用测试速度提升约8倍;多项式插值区间查找改用二分查找,平均比较次数从约200次降至9次。
性能测试显示显着加速效果
在28核、28进程×1线程的标准配置下,采用SVE指令集版本的ABACUS在10个典型材料体系(包括GaAs、MoS2、Pt (111)等)的测试中,比业界主流x86 CPU快1.3至3.9倍。在单节点满核并启用矩阵运算单元的配置下,最高加速比达到10.7倍。特别是在随机轨道DFT算例中,SVE版本快2.8至3.1倍,矩阵运算指令集版本快6.1至20.1倍。
此外,团队利用一站式开发套件DevKit的源码自动优化能力,验证了优化方案的通用性。在920新型号上实测,计算8原子温稠密碳算例速度提升2.28倍,512原子硅体系算例速度提升2.66倍。相关优化代码已推送至GitHub开源社区,为其他科学软件在国产硬件上的迁移与优化提供了可复用的工具和经验。
背景
密度泛函理论(DFT)是研究材料性质的主流第一性原理方法。ABACUS(原子算筹)是国内自主研发的DFT开源软件,由多家单位联合开发,拥有广泛的国内外用户基础。华为鲲鹏920系列处理器支持多种向量指令集及矩阵运算单元,此次合作旨在提升大型科学计算软件在国产硬件上的运行效率。
消息来源
本文综合以下来源:
- IT之家 — 华为鲲鹏 920 上跑出超越同代主流硬件的性能:北大团队完成 ABACUS 原子算筹软件深度优化,优化 19 类材料核心算子
本文在人工智能辅助下根据上述来源撰写。了解我们的编辑方针。
