APP下载

国产芯片在材料计算模拟中的性能探究

2023-06-16王志秀姜新港易文才

现代电子技术 2023年12期
关键词:计算速度局域电荷

王志秀,姜新港,易文才

(1.曲阜师范大学 实验教学与设备管理中心,山东 曲阜 273165;2.曲阜师范大学 前沿交叉科学研究院 高压物理与材料科学实验室,山东 曲阜 273165)

随着材料计算模拟方法的不断完善和计算机运算速度的迅猛提升,材料计算模拟逐步成为材料研发和探究基础自然科学奥秘的一种基本方法。维也纳从头算模拟软件包(VASP)是目前最流行的材料模拟软件之一,被广泛应用于铁电材料、储能材料、热电材料、超硬材料、超导材料、固体催化材料、气敏材料、光伏材料、拓扑材料等,因而在各超算平台均有非常巨大的计算机时消耗量。使用VASP 评估各计算平台的运算速度和软件生态建设情况,是建设超级计算平台的重要指标之一。就目前而言,应用VASP 的各大计算芯片平台主要以Intel、AMD 居多,国产芯片在材料模拟计算中的应用还相对较少。近年来,国产中央处理器芯片(CPU)开始迈入超级计算领域,国产8175 中央处理器(CPU)和国产Z100 图形加速计算单元(GPU,x86 异构计算卡)于2022 年实现量产,为国产芯片自主研发、解决全球“缺芯”问题带来了新的希望[1-2]。评估国产计算芯片性能,建设国产x86 算力生态,建立第一性原理材料模拟各种算法下典型的算例集合,是拓展国产芯片在材料计算模拟领域的重要环节之一。

VASP 是一款典型的基于密度泛函理论开发的软件,在模拟过程中,计算芯片中最耗时的部分是通过迭代自洽解Kohn-Sham 方程获取材料电子密度分布函数,运算速度依赖傅里叶变换和矩阵对角化算法,即FFT、BLACS、LINPACK、SCALPACK 等数学库。计算过程对CPU 与内存之间的通信速度比较敏感,而对CPU 的主频和硬盘读写速度依赖较低。VASP 比较典型的功能有结构优化、单点能计算、基于杂化泛函计算电子结构、分子动力学模拟等,计算主要针对具有重复单元周期性的结构,计算模拟消耗时间随计算体系单胞中价电子个数和计算精度要求的增加而增加,当前计算平台通常能够承受的计算尺度仍限于大约2 000 个价电子以内的体系。自2018 年4 月17 日开始,发布的5.4.4 及更高版本加入通用图形处理器(GPU)计算加速功能,在版本迭代过程中GPU 加速性能被不断提升[3-4]。同时,前期研究工作表明,OpenACC 技术可以实现VASP 在GPU 上的最佳运行速度。在众多材料计算模拟实例中,金刚石是一种具有高硬度、高熔点、高绝缘性、化学稳定性、耐酸碱腐蚀性等的宝石,被广泛应用于工业钻头、实验室金刚石对顶砧、量子计算、地址勘探等领域,其极端条件下(高温高压)的物性研究对于国防科技、地质科学的研究有较重要的意义[5],同时在材料计算模拟中可以作为典型算例来评估计算平台的计算性能。

本文以金刚石极端性质模拟为典型算例,探究了VASP 在国产8175 CPU 和国产Z100 GPU 计算芯片上的性能表现。为了实现对不同计算规模和不同计算类型下芯片的运算性能评估,本文通过扩超胞形成若干个具有不同价电子数的金刚石超晶胞体系,同时选取了算法上存在显著差异的结构优化、电荷局域函数计算、含杂化泛函的电子结构计算以及高温高压下动力学计算来评估芯片性能。研究结果表明,国产8175 CPU 和国产Z100 GPU 计算芯片具备出色的运算可靠性以及显著的计算加速性能,可以胜任VASP 在材料计算模拟中的广泛应用。

1 计算平台和计算方法

如图1 所示,本文采用的计算平台是国内刚刚实现量产的国产7185 CPU 计算芯片和国产Z100 GPU 计算加速卡。每颗国产7185 CPU计算芯片含有4个处理器单元,每个处理器单元含有8 个计算核心,主频为2.0 GHz,三级缓存为8 MB。每块国产Z100 GPU 计算加速卡含有7 680 个计算核心,内存带宽为1 032 GB/s,显存容量高达32 GB。计算模拟在国产X86 异构超算云平台上完成,每个计算节点含有1 颗国产7185 CPU 计算芯片和4块GPU 计算加速卡。

图1 国产7185 处理器和国产GPU Z100 计算加速卡

在系统软件生态上,不同于NVIDIA 平台上采用cuBLAS、cuFFT 等数学库,国产异构GPU 采用rocBLAS、hipFFT 等数学库,并采用移植异构接口程序(HIP)将VASP 中CUDA 代码移植为国产GPU 支持编译的代码,实现在国产GPU 计算平台上的最优并行运算速度。为了对比以上芯片计算性能,所有计算模拟还在Intel 芯片计算平台完成,采用每个计算节点含有2 颗Intel E5 2685 V3 和每个计算节点含有2 颗Intel Gold 6132 的两种计算平台形成对比。所有计算平台的内存均按照CPU 满通道进行配置,以实现VASP 软件的最优并行运算性能。

所有材料计算模拟均由VASP 软件包完成[6-7],采用广义梯度法中的Perdew-Burke-Ernzerhof(GGA-PBE)泛函赝势[8-9],电子与离子的相互作用以全电子投影增强波(PAW)方法表示[10],C 的价电子为2s22p2。在结构优化过程中,截断能设置为900 eV,采用共轭梯度方案优化原子位置和晶格常数,结构优化的计算直到每个原子上的赫尔曼-费曼(Hellmann-Feynman)力小于0.01 eV/atom 才停止,总能量收敛判据设为1×10-5eV。本文所有的计算选取密度为2π×0.032 Å-1的Monkhorst-Packk点网格进行布里渊区积分采样[11],杂化泛函态密度计算时k点密度[12]设为2π×0.062 Å-1。此外,从头算分子动力学(AIMD)在NPT 系综中下运行,模拟压力和温度分别设为100 GPa 和1 000 K。计算的输入文件以及数据后处理由qvasp 软件包完成[13]。VASP 计算并行参数NCORE、KPAR 和NSIM 对程序并行性能有重要影响,针对本文计算平台和计算体系,对多k点计算任务,KPAR 被设为4,对于价电子数较多的计算体系,NCORE在CPU 计算平台中被设为4,在GPU 计算平台中被设为1,以达到最佳的运算性能。为了评估不同计算平台中不同计算规模下芯片的计算性能,分别采用1×1×1(8 个价电子)、2×2×2(64 个价电子)、3×3×3(216 个价电子)、4×4×4(512 个价电子)、5×5×5(1 000 个价电子)、6×6×6(1 728 个价电子)的超晶胞模型进行计算模拟。

2 结果与讨论

2.1 算法解析

如图2 所示,本文选择了VASP 计算模拟中最常用的计算类型作为研究算例的评估类型。可以看到,在每种计算场景中都会涉及到求解Kohn-Sham 方程中的迭代对角化波函数Ψn,大约有90%的标准算法中都会采用Davidson 和RMM-DIIS 算法来实现这一求解过程,而求解波函数Ψn的矩阵元维数与计算体系的价电子数呈相关性。因此,求解VASP 在特定材料计算模拟平台中单个任务的运行时长与计算平台中FFT、BLACS、LINPACK、SCALPACK 等数学库运行效率呈正相关,也与材料计算体系价电子个数呈正相关。通常,这一求解过程在GPU 上完成比在CPU 上完成更具有效率优势。

图2 算例评估流程

结构优化的标准过程如图2a)所示,在每次通过自洽求解Kohn-Sham 方程获得电荷密度函数后,VASP 程序还会计算每个原子的受力,如果力没有达到收敛标准,再更新原子位置后再求解电荷密度函数,通过重复上述解电子密度函数等过程,直到力达到收敛。上述涉及的两个循环,自洽求解电子密度函数通常在GPU 加速卡和CPU 上协同完成,而更新原子位置通常在CPU上完成。因此,CPU 与GPU 上的数次通信延迟以及CPU与内存之间数次数据交换会拖慢结构优化的运行速度。

电荷局域函数计算属于静态自洽(或单点能)计算的标准流程,如图2b)所示,即在结构优化后通过一次性解Kohn-Sham 方程获得材料电荷密度函数,通过返回的电荷密度函数求解材料的电荷局域信息。这一过程中,CPU 只需要向GPU 发布一次运算指令,并收回一次GPU 上的运算结果。因此CPU 与GPU 上的两次通信延迟以及CPU 与内存之间的数据交换对电荷局域函数运行速度的影响较小。含有杂化泛函的电子结构计算的标准流程如图2c)所示。该计算能够更加精确地计算材料的带隙值,除了标准利用自洽求解电荷密度函数以外,还需要利用Hartree-Fock 自洽场方法求解单电子波函数信息。后者求解过程依旧依赖计算评估矩阵对角化速度,但矩阵元随电子数的增加呈指数增加,因此计算量非常大,对计算芯片有非常高的要求,该计算过程在GPU 加速卡和CPU 上协同完成。同时,CPU 与GPU上的两次通信延迟以及CPU 与内存之间的数据交换对含有杂化泛函的电子结构计算运行速度的影响较小。

极端条件下的分子动力学模拟的标准计算流程如图2d)所示。分子动力学可以评估材料在高温高压下结构的稳定性、内部原子的迁移情况,与结构优化类似,需要不断调整原子位置并不断解Kohn-Sham 自洽方程组;同时分子动力模拟过程要求不考虑结构对称性,分子动力学模拟时间迭代次数非常多,模拟体系价电子个数通常为1 000 个左右,对计算芯片长时间的运行有很高的要求。另外,CPU 与GPU 上频繁的通信延迟和CPU与内存之间频繁的数据交换对含有杂化泛函的电子结构计算运行速度的影响非常大。

2.2 计算稳定性及可靠性分析

金刚石在100 GPa 下优化得到的结构见图3a),其晶格常数从0 GPa 时的3.572 Å 压缩到3.376 Å,C—C键长从0 GPa 时的1.547 Å 压缩到了1.462 Å。由于不同计算平台在求解电子密度函数过程中采用了不同数学库,会造成计算结果的差别。如表1 所示,在国产计算平台上结构优化得到的晶格常数与Intel 计算平台上差别小于1×10-5Å,小于密度泛函理论本身的要求的误差(1×10-3Å)。由此可知,国产计算平台上的结算结果是可信赖的。金刚石在100 GPa下电荷局域函数计算结果见图3b),原子与原子之间的电荷越局域(越接近1.0),则原子之间的共价键强度越高。表1 显示C—C 之间在不同计算平台上电荷局域函数最大值皆为0.944 15,表明C—C 之间存在很强的共价键,结构非常稳定。同时,数值计算的一致性表明在各个计算平台的数学变化库中,用于计算电荷局域函数的计算精度是等同的。

表1 典型算例在不同计算平台得到主要计算结果的区别

图3 金刚石结构、电荷局域密度、结构态密度和分子动力学模拟

金刚石在100 GPa 下金刚石带隙得到的电子结构态密度如图3c)所示,态密度中的px、py和pz轨道重叠在一起,并与s轨道形成典型的sp3杂化,表明金刚石在100 GPa 的高压下仍能保持和常压下一致的电子结构特征,抗压性能良好。如表1 所示,在各个计算平台上计算得到的带隙值为5.730 eV,差别在1 meV 以下,表明各个计算平台计算结果一致。

金刚石结构在4 ps 的分子动力学热浴过程中达到平衡结构(如图3d)所示),在各个计算平台上计算得到的终态结构和初态结构一致,都表明在1 000 K 温度下,碳原子仅仅在平衡位置做简谐振动。本文统计了热浴稳定后最后1 ps 中总能的平均值(如表1 所示),其总能围绕-5.65 eV/atom 做上下波动,在不同计算平台上差别小于11.3 meV/atom,符合分子动力学能量波动预期,证明在国产计算平台上VASP 的分子动力学模拟是可靠的。

以上算例皆在各个计算平台上一次性运行完成,表明该算例在各个计算平台具备良好的稳定性。

2.3 计算性能评估

本文以Intel E5-2685 V3 CPU 计算速度作为标准基准(1.0),取各个计算平台相同输入参数任务计算消耗时间的倒数与Intel E5-2685 V3 CPU 计算消耗时间倒数的比值来比较不同计算平台上的计算速度。

较小的计算体系中(价电子数为2~64 个),Intel E5-2685 V3 CPU 计算时间最短的是电荷局域函数计算,用时4.55 s,最长为分子动力学计算,用时1 279.24 s,如表2 所示。

表2 金刚石极端条件各个典型算例计算消耗的时间

如图4a)和图4b)所示,由于在结构优化和分子动力学中GPU 需要频繁地与CPU 通信,所消耗的额外时间低于解Kohn-Sham GPU 带来的加速时间,因此CPU计算平台具有显著的速度优势,其中Intel gold 6132 CPU 计算平台最为出色,平均计算速度是Intel E5-2685 V3 CPU 计算速度的1.27 倍。国产7185 CPU 计算平台平均计算速度是Intel E5-2685 V3 CPU 的0.77,考虑到该计算体系计算时间都较短(不到30 min),国产7185 CPU 计算平台可以胜任该体系范围的计算。

图4 结构优化、电荷局域函数、电子结构、分子动力学计算在不同价电子数下的速度对比

在中等规模的计算体系(价电子数为216~512 个),各类计算类型中,Intel E5-2685 V3 CPU 计算用时最短的为电荷局域函数,为64.74 s,用时最长的为分子动力学计算,用时24.08 h。如图4c)和图4d)所示,在中等计算规模计算体系下,GPU 计算能力开始显现,在216 个和512 个电子的电荷局域函数计算中,计算速度分别是Intel E5-2685 V3 CPU 的2.85 倍和3.05 倍。国产7185 CPU 在各个计算类型的平均速度为Intel E5-2685 V3 CPU 的0.85,国产Z100 GPU 加速卡平均计算速度是Intel E5-2685 V3 CPU 的1.85 倍。

超大规模计算体系(价电子数为1 000~1 728 个价电子),在各类计算类型中,Intel E5-2685 V3 CPU 计算用时最短的为电荷局域函数,为2 170.24 s,用时最长的为分子动力学计算,用时107.70 h,在电子数为1 728 个价电子的计算体系中,分子动力学已经无法在15 天内获得计算结果,已达到计算测试的上限。GPU 与CPU通信所消耗额外的时间占比显著减小,GPU 计算速度的优势显著凸显出来,在价电子数为1 000 和1 728 个时,国产Z100 GPU 在各类型的平均计算速度是Intel E5-2685 V3 的11.82 倍,是国产7185 的11.77 倍,是Intel Gold 6132 计算平台的8.13 倍。显然,国产Z100 GPU 加速计算平台对中等以及较大计算体系的结构优化具有显著加速优势。最大加速比发生在1 728 个价电子体系的电荷局域计算中,国产Z100 GPU 计算速度是Intel E5-2685 V3 的41.98 倍,显著优于Intel计算芯片平台。

3 结 语

本文探究金刚石在各个芯片计算平台上的模拟效率,计算结果表明,VASP 软件在国产CPU 和GPU 计算芯片上运行稳定性良好,有能够满足快速运行的软件生态,各个计算平台计算结果差异很小,表明国产计算平台具备计算可靠性。同时,本文对比了不同计算芯片的计算性能。结果表明在较小计算体系中,国产7185 CPU 平均计算速度Intel E5-2685 V3 CPU 的0.77,但这类计算最长计算时间不到30 min,国产7185 CPU 计算平台可以胜任该类计算任务的运行;在中等计算体系时,国产Z100 GPU 加速卡开始显现其加速性能,其加速卡平均计算速度是Intel E5-2685 V3 CPU 的1.85 倍;而在超大计算体系中,国产Z100 GPU 加速卡对VASP软件在模拟方面有卓越的运行速度,平均计算速度是Intel E5-2685 V3 CPU 的8.13 倍。其中加速性能最好的计算类型是含杂化泛函的电子结构计算,最高速度为Intel E5-2685 V3 CPU 计算平台的42 倍。

因此,本文可以得出结论:国产计算芯片在金刚石高温高压性能计算模拟方面,能够实现国产替代并具有卓越的计算性能,能够在化学、物理和材料计算模拟中发挥重要作用。

猜你喜欢

计算速度局域电荷
电荷知识知多少
电荷守恒在化学解题中的应用
浅谈小学数学教学中学生计算能力的培养与提高
局域积分散列最近邻查找算法
PET成像的高分辨率快速局域重建算法的建立
静电现象有什么用?
库仑定律的应用
探析小学数学教学中如何提升学生的计算能力
基于局域波法和LSSVM的短期负荷预测
基于非正交变换的局域波束空时自适应处理