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

2304                                   Journal of Software  软件学报 Vol.32, No.8,  August 2021

                 DGEMV 性能对整体性能的影响也仅次于 DGEMM.图 15 左侧为 DGEMV 性能,优化的 HBLIS 比 MKL 提升了
                 约 62%,比原 BLIS 提升了约 65%.图 15 右侧为 DTRSV 函数时间统计,原 BLIS 性能与 MKL 差距较大,经过优化
                 后的 BLIS 性能超过了 MKL.因为 DTRSV 计算量较小,在总时间中占比也相对很小.













                  Fig.15    Performance comparison of DGEMV and DTRSV calling different math libraries in heterogeneous HPL
                                图 15   异构 HPL 中调用不同数学库的 DGEMV 和 DTRSV 的性能对比

                    如图 16 所示为 DTRSM 和 IDMAX 函数性能对比.原生 BLIS 算法库中的三角矩阵求解 DTRSM 性能较差,
                 优化后的 DTRSM 性能与 MKL 基本一致.在 pfact 第 106 步~第 141 步的性能是超过 MKL 的,而在 panel 分解
                 最后段,MKL 运算更快,原因是 DTRSM 在切换到小 kernel 的 threshold 和动态多线程的 threshold 时,需要做进
                 一步的调整,以适应运算量的变化.IDMAX 函数主要是用于选主元操作,计算量可以忽略不计.












                 Fig.16    Performance comparison of DTRSM and IDAMAX calling different math libraries in heterogeneous HPL
                               图 16   异构 HPL 中调用不同数学库的 DTRSM 和 IDAMAX 的性能对比
                    如图 17 所示,Level-1 级 BLAS 函数 DSCAL 和 DCOPY 优化后的性能基本与 Intel MKL 一致.其中,DSCAL
                 优化后的性能比原生 BLIS 有大幅度提升,但在 panel 分解后段的性能还是略低于 MKL,原因是 MKL 使用的多
                 线程库 IOMP 比开源的 GOMP 在多线程启动、调度和动态多线程的切换上更加高效.而 DCOPY 代码实现简单,
                 优化空间非常有限,硬件平台性能直接决定了其时间开销,故可以看到三者 DCOPY 的性能基本一致.DAXPY 运
                 算只在回代(back substitution)过程中调用一次,性能影响可以忽略,故未列出详细对比.













                  Fig.17    Performance comparison of DSCAL and DCOPY calling different math libraries in heterogeneous HPL
                                图 17   异构 HPL 中调用不同数学库的 DSCAL 和 DCOPY 的性能对比
   17   18   19   20   21   22   23   24   25   26   27