密度泛函理论是研究半导体、金属等关键材料性质的主流第一性原理方法。ABACUS是国内自主研发的密度泛函开源软件,由多家单位联合开发,国内外用户超过一千人,应用单位过百家。
华为计算昨晚发文,在北京大学鲲鹏昇腾科教创新卓越中心支持下,北京大学力学与工程科学学院陈默涵研究员团队完成了 ABACUS 在鲲鹏 920 全系列平台上的适配,并把 19 类材料领域核心算子抽出来逐项优化。
据介绍,在和业界主流 CPU 相同的 28 核、28 进程 ×1 线程配置下,采用 SVE 指令集的版本在标准测试集上快 1.3 至 3.9 倍;放到单节点满核、启用矩阵运算单元的配置,最高快 10.7 倍。相关代码已经推送到 GitHub 开源社区。
▲ 10 种典型材料体系总计算耗时对比
要让 ABACUS 先跑起来,第一步是把编译链和数学库依赖打通。这里遇到的第一个问题比较隐蔽:鲲鹏 920 的几个型号支持的向量指令集并不一样,分别是 NEON、SVE 和 SVE512,还内置一个专门做矩阵运算的单元。如果沿用通用编译选项,程序只会走最基础的那条代码路径,这些硬件能力实际上一直闲着,测出来的只是没调过的“开箱”成绩。 团队因此给三款芯片各自适配了一条路径。其中两款用 gcc-openmpi-openblas,分别编译出 NEON 和 SVE 版本;第三款换成 clang-hmpi-kblas,编译 SVE512 和矩阵运算指令集版本。另一个改动是新增 USE_KML 编译选项,把鲲鹏数学库接进 ABACUS。接口层面也得跟着调:KFFT 和开源 fftw3、KScaLAPACK 和开源 ScaLAPACK 在函数签名与默认行为上不完全一致,团队改掉了 FFT 接口的 OMP 配置,也调整了 abstol 和 orfac 两个默认值,第三款芯片才算整体适配完成。 第一步得保证算得对。NEON、SVE 和矩阵运算三个版本的 ABACUS 都跑通了自带的平面波基组求解 Kohn-Sham DFT、线性组合原子轨道求解 Kohn-Sham DFT、随机波函数 DFT、深度学习泛函 DeePKS 等集成测试,数值结果与业界主流实现一致。性能测试用了 10 个典型材料体系,体系规模覆盖 8 至 216 原子并采用周期性边界条件,双方都取 28 核、28 进程 ×1 线程。SVE 版本比业界主流 x86 CPU 快 1.3 至 3.9 倍;矩阵运算指令集版本在单节点满核运行时最高快 10.7 倍。随机轨道 DFT 算例上的差距更明显,SVE 版本快 2.8 至 3.1 倍,矩阵运算指令集版本快 6.1 至 20.1 倍。 适配只解决了能不能跑。要在同代硬件里跑得更快,得往下走到算法层。DFT 的算力主要花在一批被反复调用的小算子上,而这些地方恰是通用编译器和数学库的盲区:编译器一次只能看一条语句、一个循环,看不到跨模块的重复计算;体系一大,有些操作的复杂度按平方增长,算力和内存很快不够用,能算的体系规模也就卡在这里。 团队把 19 类核心算子抽出来,逐个做算法分析再改写,涉及基础数学函数、数值插值积分、球谐函数、矩阵变换、混合精度计算、TDDFT、DeePKS、近邻、并行调度等模块,动手的方向大致有三类。 最见效的是压掉平方级复杂度。广义拉盖尔多项式原本用递归,算高阶项时低阶结果被反复重算,调用量接近斐波那契式增长;改成迭代递推、只留三个中间变量后,复杂度降到 O ,同一算子的百万次调用测试快了约 8 倍。多项式插值的区间查找原来从表头扫到表尾,换成二分查找后,400 项的表平均比较次数从约 200 次降到 9 次。同类的还有查表复用和整数幂特化。 第二类是减掉重复运算。能化简的用数学公式化简,三角函数用递推,循环里的不变量提到循环外,省下来的是同一批数据被反复算几十遍的开销。还有一类针对内存:混合精度、内存布局调整、负载均衡并行,目的是别让访存拖住计算。所有算子的数值结果都复核过,没有一个算错,多数有明显加速,部分到数倍甚至十余倍。 这套方法,团队没有只留在 ABACUS 里。手工调优有个绕不开的问题:换一个体系、换一类硬件,专家得从头再调一遍,经验很难复用。他们使用了一站式开发套件 DevKit 源码自动优化能力,让工具自己去识别同类性能瓶颈,并给出优化后的代码。在 920 新型号上实测 ABACUS,计算 8 个原子的温稠密碳 算例的速度快了 2.28 倍,计算 512 个 Si 原子的体系算例的速度快了 2.66 倍。 这套方案能落地,靠的是鲲鹏从硬件、基础软件、迁移优化工具到系统的全链路支撑。硬件侧是 920 的 NEON、SVE、SVE512 和矩阵运算单元,基础软件侧是 KBLAS、KFFT 等,迁移优化工具侧是一站式开发套件 Devkit。对鲲鹏来说,这次项目的关键意义在于支撑了几十万行的大型科学计算软件,通过适配优化后的代码能比业界主流硬件跑得更快,相关调优经验还能沉淀成其它科学软件项目也能用的基础工具。
特别
晕了晕了!10月近4000亿元资金借道ETF进场抄底,但半导体设备、通信仍被抛售
印度一档时事节目上,主持人 Meher Smaran 当着观众的面发问,中国凭什么不把锂电池技术白白送给印度?
60岁蒋雯丽被拍到在伦敦超市素颜买菜,和顾长卫结婚32年却异国分居,当年那句我相信他还算数吗
宝马砸487万请员工离职!系统被挤瘫痪,线亿老人迎来养老刚需,大批养老院纷纷倒闭,背后真相很现实!
NOTHING Headphone Pro头戴式耳机开售:三单元主动降噪,到手价2999元
苹果iPad mini 8电池容量4900mAh略低于上一代5034mAh,机身比前代薄15%且更轻










