zoukankan      html  css  js  c++  java
  • ubuntu上的inpack测试

    测试linpack

    配置

    配置linpack环境是整个过程中最麻烦的,也可能是因为我在配置的过程中出现了很多小问题吧。大概有3天的时间除了上课就在配置环境。

    问题

    总结起来问题和解决方法有这些

    1、路径设置问题
    2、source 的位置(profilehe 和.bashrc)
    3、权限问题
    4、莫名其妙的问题(解决方法:重装)

    做的太着急了,没有截图... 下次要养成截图的习惯!

    测试

    HPL.dat 的文件内容

    HPLinpack benchmark input file
    Innovative Computing Laboratory, University of Tennessee
    HPL.out      output file name (if any)
    6            device out (6=stdout,7=stderr,file)
    1            # of problems sizes (N)
    11900 340 35  Ns
    1            # of NBs
    224 192 192 192      NBs
    0            PMAP process mapping (0=Row-,1=Column-major)
    1            # of process grids (P x Q)
    1 1 1        Ps
    4 4 4        Qs
    16.0         threshold
    3            # of panel fact
    0 1 2        PFACTs (0=left, 1=Crout, 2=Right)
    2            # of recursive stopping criterium
    2 4          NBMINs (>= 1)
    1            # of panels in recursion
    2            NDIVs
    3            # of recursive panel fact.
    0 1 2        RFACTs (0=left, 1=Crout, 2=Right)
    1            # of broadcast
    0            BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM)
    1            # of lookahead depth
    0            DEPTHs (>=0)
    2            SWAP (0=bin-exch,1=long,2=mix)
    64           swapping threshold
    0            L1 in (0=transposed,1=no-transposed) form
    0            U  in (0=transposed,1=no-transposed) form
    1            Equilibration (0=no,1=yes)
    8            memory alignment in double (> 0)
    

    其中我们需要修改来优化配置的参数有以下:
    1、Ns 矩阵的大小

    N×N×8 =系统总内存×80%。
    

    注意这里的系统总内存是指可用内存,以B为单位

    我的N=11900

    2、NBs 求解矩阵分块的大小

    为提高数据的局部性,从而提高整体性能,HPL采用分块矩阵的算法。分块的大小对性能有很大的影响,NB的选择和软硬件许多因素密切相关。
    NB值的选择主要是通过实际测试得到最优值。但NB的选择上还有一些规律可寻,如:NB不可能太大或太小,一般在256以下; NB×8一定是Cache line的倍数例如,我们的L2缓存为1024K,NB就设置为192
    另外,NB大小的选择还跟通信方式,矩阵规模,网络,处理器速度等有关系。一般通过单节点或单CPU测试可以得到几个较好的NB值,但当系统规模增加,问题规模变大,有些NB取值所得性能会下降。所有最好在小规模测试时选择3个左右性能不错的NB,再通过大规模测试检验这些选择。

    实践证明224比196要好

    3、P Q 二维处理器网格(P×Q)
    要求:
    (1)P×Q =系统CPU数=进程数
    (2)P≤Q
    我的进程数是4 实践证明1X4优于2X2

    理论值的计算方法

    结果参数:

    time:运算的时间
    Gflops:进行浮点运算的次数

    执行语句:mpirun -np x ./xhpl

    X为操作系统的进程数或其倍数
    我的x=4

    最优结果:

    是理论值的40%这样

    心得体会:

    配置环境确实是一个很麻烦的事情,我用了整整3天,最后的测试其实只用了一天。但是我觉得自己的hpl测试还没有达到最高值,后面有时间再慢慢测试。不过经历过这个过程之后,写命令行的能力确实提高了很多 。这周要学习forturn语言,不过软工的冲刺也在这周,合理安排时间吧。
  • 相关阅读:
    EnterpriseLibrary
    如何只保证窗口只打开一次[即只运行一个进程]
    设计模式之工厂方法模式
    设计模式之代理类
    asp.net mvc应用架构的思考--Unity的应用及三层代码
    为什么我说不要用TransactionScope
    Redis入门学习
    实战分层架构
    asp.net mvc 4多级area实现技巧
    jsonp其实很简单【ajax跨域请求】
  • 原文地址:https://www.cnblogs.com/Olivia1011/p/7778890.html
Copyright © 2011-2022 走看看