HPL(高性能Linpack)代码中的PANEL结构

时间:2013-03-26 03:58:05

标签: c hpc scientific-computing

最近,我正在深入研究HPL代码并尝试了解HPL的底层实现机制。 (http://www.netlib.org/benchmark/hpl/

现在,我对HPL_T_panel结构中的一些参数感到困惑。 (包括/ hpl_panel.h)。

A;                  /* ptr to trailing part of A */
* WORK;                              /* work space */
* L2;                                /* ptr to L */
* L1;                /* ptr to jb x jb upper block of A */ 
lda;                 /* local leading dim of array A */ 
ldl2;                /* local leading dim of array L2 */

几个问题:

  1. 'lda'和'ldl2'的含义是什么?领先维度和L2行数之间有什么区别?

  2. A,L1和L2的价值是多少?换句话说,在每次面板分解迭代后,L,U和子矩阵的确切大小是多少?我试图在迭代期间跟踪这些值,但无法分辨模式。

  3. 例如,假设HPL的以下参数:

    N   1024  (matrix size)
    NB 128    (block size)
    PxQ 2x2   (process grid)
    

    对于'循环在A列上'(src / pgesv / HPL_pdgesv0.c),每个进程的每次迭代的A,L1,L2值是多少?你能在这里给我一些统计分析吗?如索引和剩余矩阵大小。

    如果有人(熟悉HPL源代码)给我一些建议,我会很感激。

0 个答案:

没有答案