Page 35 - 《软件学报》2021年第8期
P. 35

黎雷生  等:复杂异构计算系统 HPL 的优化                                                         2317


                    可以看出,图 6 优化版本的平衡点是 56.09%,图 4 未优化版本版本是 37.82%.从 LU 分解的计算量来看,前
                 56.09%占总的 LU 分解计算量的 91.53%,大部分时间充分发挥了 GPU 的计算能力.优化后单节点 HPL 效率达
                 到了 79.51%.
                    和优化有关的参数主要是 GPU 加速 DGEMM 和 panel 广播流水的层次,这里都是 3.行交换非当前列第 1
                 段列数是待更新列数的 1/8,增长因子是 2.Panel 分解参数和表 1 一致.
                 6.2   可扩展分析
                    多节点 HPL 较大规模可扩展,目前最大规模 4 096 个节点.HPL 较大规模并行有关的参数和效率见表 4,表
                 中列出了针对相应节点数执行的实验中效率最高的配置.
                                       Table 4    Parameters and efficiency of multi-nodes HPL
                                                 表 4   多节点 HPL 参数和效率
                           节点数         N      NB    P     Q     SWAP      BCAST      HPL 效率(%)
                             1       88 320   384   2     2    优化 long    流水 1ring     79.51
                             4      176 640   384   4     4    优化 long   流水 2ringM     80.01
                             16     353 280   384   8     8    优化 long   流水 2ringM     77.69
                             64     706 560   384   16   16    优化 long   流水 2ringM     74.89
                             256    1 376 256   384   32   32   优化 long   流水 2ringM    73.72
                            1 024   2 752 512   384   64   64   优化 long   流水 2ringM    72.00
                            1 936   3 784 704   384   88   88   优化 long   流水 2ringM    70.87
                            4 096   5 505 024   256   64   64   优化 long   流水 2ringM    67.50

                    参数 N 是较大规模节点 HPL 评测中比较重要的参数,每个节点计算的矩阵列数一般是 NB 的倍数,多节点
                 的 N 正比于节点数平方根.N 值越大,计算效率较高的矩阵更新占比越大,一般来说 HPL 效率越高,但 N 受限于
                 GPU 的内存容量,同时还要考虑系统的负载.NB 使用 384 或 256.P 和 Q 确定二维进程网格的组织方式,经过验
                 证,P=Q 时目标系统性能最优.Panel 广播和矩阵行交换分别使用优化的 long 算法和广播流水算法.
                    从 HPL 效率来看,4 节点效率高于单节点效率,原因在于 4 节点矩阵规模大于单节点,效率较高的计算占比
                 较大,并且可以抵消 4 节点规模下网络传输路径增加带来的性能损失.随着规模的扩大,网络传输对性能的影响
                 增大,HPL 效率逐步降低,但降低的趋势比较平缓.

                 7    结论与未来的工作

                    针对复杂异构系统,分析 HPL 算法的特点,提出 CPU 与 GPU 协同计算方法,提出平衡点理论指导各方面优
                 化.实现 CPU 与 GPU 协同计算的 look-ahead、行交换连续流水线算法隐藏 panel 分解和行交换时间,并优化
                 panel 分解和行交换算法,延长 GPU 计算占优的时间,最终提高整个系统的 HPL 效率,单节点效率 79.51%.
                    当前的超级计算机正向百亿亿级迈进,目标系统采用的节点内通用 CPU 装备加速器,配合高速的节点内总
                 线被认为是较有潜力的一种架构.未来工作主要是针对百亿亿级计算架构,开展加速器 DGEMM 优化、CPU 与
                 加速器协同计算和混合精度等相关研究.同时,百亿亿级超级计算机节点规模继续增加,节点数量有可能达到数
                 万甚至更多,节点间的互连也更加重要.需要进一步研究 HPL 大规模可扩展能力,评测行交换算法和广播算法的
                 性能,并进行相应的优化.

                 References:
                 [1]    Dongarra J J, Luszczek P, Petitet A. The LINPACK Benchmark: Past, present and future. Concurrency and Computation: Practice
                     and Experience, 2003,15(9):803−820.
                 [2]    Official website. 2020. http://www.top500.org
                 [3]    Kurzak J, Luszczek P, Faverge M, Jack Dongarra. Programming the LU factorization for a multicore system with accelerators. In:
                     Proc. of the Int’l Conf. on High Performance Computing for Computational Science. Berlin, Heidelberg, 2013. 28−35.
   30   31   32   33   34   35   36   37   38   39   40