Page 40 - 《软件学报》2021年第8期
P. 40
2322 Journal of Software 软件学报 Vol.32, No.8, August 2021
2.2 HPL性能模型.
在已有的 CPU HPL 建模分析的基础上 [14,16−19] ,我们提出了适应于处理器-加速器异构架构的 HPL 性能模型.
在具体介绍我们的 HPL 性能模型之前,我们先给出一些符号及其含义,大部分符号采取与文献[17]中一致的名称.
矩阵 A 是 N×(N+1)的系数矩阵,以 NB×NB 的块大小均匀分布在 P×Q 的二维进程网格中,mp×nq 表示每个进程处理
的子矩阵的大小. f fact 表示 panel 分解中浮点操作的比例,P cpu 和 E cpu 分别表示国产处理器双精度浮点峰值性能和浮
点操作的效率,P acc 表示国产加速器双精度浮点峰值性能,E dgemm 和 E dtrsm 分别表示国产加速器上 DGEMM 和
DTRSM 的效率,网络延迟为 Lat s,带宽为 BW byte/s.对于 panel 分解子过程,我们通过估计子过程中矩阵乘的计算量
乘以一个系数来估计整体的浮点计算量,式(2)给出了这一子过程的时间估计.其中需要特别指出的是,我们将 panel
分解中大矩阵放到国产加速器上进行计算,这在式(2)的分母中体现了出来.
×
×
T = f fact × mp NB NB (2)
fact P × E
cpu|acc cpu|dgemm
对于 panel 广播算法的选择,我们实现中采用的是 HPL 软件包中复杂度较低的 Long 算法.它的复杂度为 log
级别,体现在式(3)前半部分的系数.每次广播,我们需要传输大小为 NB×NB 的 L 11 和 mp×NB 的 L 12 以及少量索引,
这些数据均为双精度类型(8 字节),公式的后半部分给出了每一跳(从一个节点传往下一个节点)的时间估计.式
(3)给出了对这一过程的时间估计.
⎛ log Q 1 ⎞ mp NB× + NB NB× + NB + 1
T = 2 + ⎜ + 1 × (Lat + ⎟ 8× ) (3)
bcast
⎝ 2 Q ⎠ BW
行交换时间的估计方式与 panel 广播的估计方式类似,区别在于采取的算法和传输的数据量不同.出于避免
冗余数据传输的目的,行交换采用的是 spread-roll 算法 [11] ,式(4)给出了这一子过程的时间估计.
⎛ log P ⎞ NB
T swap = (log P + 2 P − 1) Lat + × ⎜ 2 + 2 × ⎟ 8 nq× × (4)
⎝ 2 ⎠ BW
尾矩阵更新的过程主要是在国产加速器上执行两个 BLAS 库函数 DGEMM 和 DTRSM,其计算量分别是
2 mp nq NB× × × 和 nq NB NB× × .式(5)给出了尾矩阵更新的时间估计.
2 mp nq NB× × × nq NB NB× ×
T = + (5)
update P × E P × E
acc dgemm acc dtrsm
性能模型中参数的值,我们分为两类.一类是可以预知的,比如问题的规模,分块的大小以及硬件的峰值浮
点性能等等,对于这一类参数,我们根据系统硬件以及求解问题的实际规模设定好对应的值;另一类是不可以预
知的,比如双精度矩阵乘的效率可能和矩阵的规模相关,网络的实际带宽和延迟可能受发送的数据量的影响等
等,对于这一类参数,我们通过小规模实际测试给出其实测值.
我们用 TOP500 榜单中排名靠前的与国产处理器-国产加速器类似的异构系统,如 Summit [20] 、Serria [21] 、
ABCI [22] 以及曙光 E 级超算原型机对上述 HPL 性能预测模型进行了检验,结果见表 1 [17] .在大规模系统 HPL 性
能预测的准确性上,最大误差值不到 5%.可以看到,我们建立的国产处理器-国产加速器异构 HPL 性能模型较为
准确,可以给将来 E 级机的建造提供参考.
Table 1 TOP500 supercomputer performance prediction
表 1 TOP500 超级计算机性能预测
网络带宽 峰值性能 实测性能 预测性能
TOP 500 超算 节点配置 节点数 误差
(Gb/s) (PFLOPS) (PFLOPS) (PFLOPS)
2*IBM POWER AC922
v Summit 200 4 608 200.8 143.5 140.6 <2%
6*NVIDIA V100
2*IBM POWER AC922
2 Sierra 200 4 320 125.7 94.6 92.8 <2%
4*NVIDIA V100
2*Intel Xeon Gold 6148
7 ABCI 200 1 088 32.6 19.8 20.8 <5%
4*NVIDIA V100
2*国产处理器
曙光 E 级超算原型机 200 512 3.2 2.3 2.2 <5%
1*国产加速器