ubuntu上的inpack测试

mac2022-06-30  24

测试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语言,不过软工的冲刺也在这周,合理安排时间吧。

转载于:https://www.cnblogs.com/Olivia1011/p/7778890.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)