ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:214.92KB ,
资源ID:20476168      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20476168.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验4linpackWord格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验4linpackWord格式文档下载.docx

1、100的矩阵在该测试中,不允许对Linpack测试程序进行任何修改,哪怕是注释行。 所有的优化工作只能在编译器里完成。- 10001000的矩阵该测试也叫“面向峰值性能的测试”,在该测试中,要求有所放宽,允许对算法和软件进行修改或替换,并尽量利用系统的硬件特点,以达到尽可能高的性能。但是所有的优化都必须保持和标准算法如高斯消去法相同的相对精度,而且必须使用Linpack的主程序进行调用。测试者可修改或替换其中的过程调用例程DGEFA 和DGESL 。其中DGEFA 是Linpack 软件包中标准的高斯消去LU 分解过程,而DGESL 是根据分解后得到的结果回代求解过程。- 针对大规模并行计算系

2、统的测试,即Highly Parallel Computing。在这一测试中,问题规模限制被取消,针对现代的并行计算机,要求最宽松,即用户可对任意大小的问题规模,使用任意个数的CPU ,使用各种优化方法(必须基于高斯消去法)来执行该测试程序,寻求最佳的测试结果。其实HPL(主页:lib.org/benchmark/hpl/algorithm.html)就是这样的一个大规模高度并行的测试版本,也是当今用来进行世界前500超级计算机排名的公用测试标准(网址:http:/www.top500.org/)。目前,用Linpack基准测试出的最高性能指标已经成为衡量机器性能的标准之一,这个数字可以作为对

3、系统峰值性能的一个修正。通过测试求解不同问题规模的实际计算速度值,我们不仅可以得到达到最佳性能的问题规模和性能测试数据。2、 HPL基准测试(1)概述HPL,即High Performance Linpack,目前已经成为国际标准的Linpack基准测试程序,其1.0版于2000年9月发布,是第一个标准的公开版本并行Linpack测试软件包,一般用于全世界TOP500超级计算机上的并行超级计算机排名。HPL测试标准的用户自由度要大很多,使用者可以选择矩阵的规模,分块大小,分解方法等等一系列的各种参数,都是按需要更改的。HPL软件包需要在配备了MPI环境下的系统中才能运行,还需要底层有线性代数子

4、程序包BLAS的支持(或者有另一种向量信号图像处理库VSIPL也可)。HPL软件包不仅提供了完整的Linpack测试程序,还进行了全面细致的计时工作,最后可以得到求解的精确性和计算所花费的总时间。该软件在系统上所能达到的最佳性能值适合很多因素有关的。(2)主算法该软件包是用来求一个N维的线性方程组A x = b的解,首先通过选局部列主元的方法对N(N+1)的A b系数矩阵进行LU分解成如下形式:A b=L,U y由于下三角矩阵L因子所作的变换在分解的过程中也逐步应用到b上,所以最后方程组的解x就可以由转化为求解上三角矩阵U作为系数矩阵的线性方程组 U x = y从而得到。为了保证良好的负载平衡

5、和算法的可扩展性,数据是以循环块的方式分布到一个P x Q的由所有进程组成的2维网格中。N x (N+1)的系数矩阵首先在逻辑上被分成一个个Nb x Nb大小的数据块,然后循环的分配到P x Q进程网格上去处理。这个分配的工作在矩阵的行、列两个方向同时进行。如下图所示:(左图为整个矩阵被分成小块以后,右图为各小块分配到各个进程后的情况) 在LU分解的主循环中使用的是向右看(right-looking)的分解法,也就是说,在每次迭代过程对一个nb列的板块分解,然后剩余的子矩阵被更新。因此,我们也可以注意到这里的板块在逻辑上被分为nb大小的子块,而这个Nb恰好就是前面数据分布中使用的Nb。在前面所

6、提到的N,Nb,P,Q都是可以根据集群的具体配置和用户需要而随时修改的,也是HPL测试中十分关键和重要的几个参数。详细内容请看后面。二、 HPL的安装及使用使学生掌握HPL的安装及运行。主要软件包:hpl-2.1.tar.gz GotoBLAS2-1.13.tar.gz openmpi-1.6.5.tar.gz1. HPL的安装(1)安装gotoblas注:出于提高性能的因数,选择GOTO BLAS,作为HPL调用的底层线性代数子程序包目前最新版本为GotoBLAS2下载GotoBLAS2-1.13.tar.gz(网址https:/www.tacc.utexas.edu/tacc-projec

7、ts/gotoblas2)执行步骤:在usr/local/mathlib/goto下解压:$ tar -zxvf GotoBLAS2-1.13.tar.gz$ cd GotoBLAS2$ make (TARGET=NEHALEM)可直接输入#make既可 也可自己选择参数 类似 $ make CC=gcc BINARY=64 TARGET=NEHALEM 依次是编译器 库的位数和cpu的类型(architecture),具体可选择的参数可从GotoBLAS2的目录下02QuickInstall.txt的查找cpu的类型(architecture)需要根据cpu的型号自行网上查找,可使用命令$

8、cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq c查看cpu的型号 可从目录下的getarch.c查看目前支持的architecture,新一点的intel cpu需要指定为TARGET=NEHALEM编译出现错误请先输入$ gmake clean再重新开始如果成功则显示类似如下图:(3)安装openmpi(4)安装HPL下载hpl-2.1.tar.gz (网址:lib.org/benchmark/hpl/hpl-2.1.tar.gz)在用户目录下解压:$ tar zxvf hpl-2.1.tar.gz$ cd hpl-2.1根据机器的情况

9、复制Makefile模板:$ cp setup/Make.Linux_PII_CBLAS Make.Linux$ vi Make.Linux如下根据具体情况修改 Make.LinuxARCH = Linux TOPdir = /home/用户目录 / hpl-2.1MPdir = /home/用户目录/openmpi安装目录/ openmpi-1.6.5MPinc = $(MPdir)/includeMPlib = -L$(MPdir)/libLAdir = usr/local/mathlib/goto/GotoBLAS2的安装目录 LAlib = $(LAdir)/ libgoto2_neh

10、alemp-r1.13.aHPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) -I$(LAinc) -I$(MPinc)CC = /home/用户目录/openmpi的安装目录/bin/mpicc 可用#which mpicc指令查看 也可直接填mpiccCCNOOPT = $(HPL_DEFS)CCFLAGS = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loopsLINKER = 同CC LINKFLAGS =同CCFLAGS(5)编译在HPL安装目录下运行$ make arch=Linux编译成功

11、会在bin/linux目录下有HPL.dat和xhpl文件如果失败,重新编译前加入# make arch=Linux clean_arch_all如果使用icc ,使用命令#which mpiicc查看后 修改Make.Linux2HPL的运行(1)进入 /安装hpl的目录/bin/Linux目录$ cd /home/用户目录/hpl安装目录/bin/Linux(2)准备节点文件$ vi nodes内容类似:cu01cu02(3)修改 HPL.dat,设置运算规模和进程数等$ vi HPL.dat(4)运行$ mpirun -np 最大进程数 machinefile nodes xhpl成功运

12、行后出现类似如下图:三、PerformanceTuning使学生了解PerformanceTuning各个环节,掌握PerformanceTuning技术。重点:修改 HPL.dat 设置运行参数1选择优化的BLAS库虽然同样是对BLAS运算功能的实现,但具体不同的实现方法所生成的库,对HPL测试结果也有着很大的影响。采用GOTO开发的BLAS库要效果要好得多,尤其是在问题规模增大,计算量增多以后,效果就更明显。另外,它还有一个用pthread库编译的版本,可以用来在SMP机群上,使节点内部的通信方式不用MPI而采用Pthread,效率会更高一些。对于GOTO在提高节点间的通信性能的基础上,提

13、高每个节点自身的效率也是优化集群性能的一种手段。处理器有自己的峰值速度,由它的主频和每周期的浮点运算次数所决定,对处理器效率的优化就是要使实际运算速度能够尽可能的接近峰值速度。针对处理器的硬件特点而进行相应的优化会取得很显著的效果。GOTO BLAS库的设计思想,主要是基于如下几个基础方面的观察和考虑:由浮点运算单元进行的浮点运算速度与从第二级cache经过的浮点数据流的速度相比,相对而言这个比例是很小的。因此,启用第二级cache处理这些数据流是一笔不必要的开销很大一部分数据流的开销来自于阻塞CPU的TLB (Translation Look-aside Buffers 转换表缓冲区) 不命

14、中率,这种不命中很多是可以避免的,不能避免的也可以分摊到大量的计算当中去。可见GOTO BLAS之所以大大优化了性能,是由于它有效的针对Pentium4处理器的SSE2技术,提高了二级缓存的利用率,大大降低了TLB的不命中率,减少了不必要的开销。作为HPL需要频繁调用的底层库,BLAS自身的高效率对Linpack测试的性能指标产生了显著的影响。对一台计算机来讲,内存的性能对整个机器的影响是仅次于CPU的。所以要提高节点的运算效率,只一味的专注于CPU速度是不够的。对于一个SMP节点,两个处理器是共享一块物理内存的,因此处理好节点内部的并行才能够提高节点自身的性能。在节点内部采用pthread库

15、的进程通信方式代替MPI消息传递方式,能够使SMP节点的实际运算速度更接近于峰值速度。这虽然是对SMP节点性能的软件上的优化,但归根结底是从其硬件特性出发,采用合适的进程通信方式,更合理的利用内存空间,减少访问冲突,使内存的使用性能提高,从而也提高了整个节点的性能。2修改 HPL.dat 设置运行参数在HPL测试中,使用的参数选择与测试的结果有很大的关系。HPL中参数的设定是通过从一个配置文件HPL.dat中读取的,所以在测试前要改写HPL.dat文件,设置需要使用的各种参数,然后再开始运行测试程序。配置文件内容的结构如下:HPLinpack benchmark input file /文件头

16、,说明Innovative Computing Laboratory, University of TennesseeHPL.out output file name (if any) /如果使用文件保留输出结果,设定文件名6 device out (6=stdout,7=stderr,file) /输出方式选择(stdout,stderr或文件)2 # of problems sizes (N) /指出要计算的矩阵规格有几种1960 2048Ns /每种规格分别的数值2 # of NBs /指出使用几种不同的分块大小60 80 NBs /分别指出每种大小的具体值2 # of process

17、grids (P x Q-l /指出用几种进程组合方式2 4 Ps /每对PQ具体的值2 1 Qs 16.0 threshold /余数的阈值1 # of panel fact /用几种分解方法1 PFACTs (0=left, 1=Crout, 2=Right) /具体用哪种,0 left,1 crout,2 right1 # of recursive stopping criterium /几种停止递归的判断标准4 NBMINs (= 1) /具体的标准数值(须不小于1)1 # of panels in recursion /递归中用几种分割法2 NDIVs /这里用一种NDIV值为2,即

18、每次递归分成两块1 # of recursive panel fact. /用几种递归分解方法2 RFACTs (0=left, 1=Crout, 2=Right) /这里每种都用到(左,右,crout分解)1 # of broadcast /用几种广播方法3 BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM) /指定具体哪种(有1-ring,1-ring Modified,2-ring,2ring Modified,Long以及long-Modified)1 # of lookahead depth /用几种向前看的步数1 DEPTHs (=0) /具体

19、步数值(须大于等于0)2 SWAP (0=bin-exch,1=long,2=mix) /哪种交换算法(bin-exchange,long或者二者混合)64 swapping threshold /采用混合的交换算法时使用的阈值0 L1 in (0=transposed,1=no-transposed) form /L1是否用转置形式1 U in (0=transposed,1=no-transposed) form /U是否用转置形式表示1 Equilibration (0=no,1=yes) /是否采用平衡状态8 memory alignment in double ( 0) /指出程序运

20、行时内存分配中的采用的对齐方式要得到调试出高的性能,必须考虑内存大小,网络类型以及拓扑结构,调试上面的参数,直到得出最高性能。 本次实验需要对以下三组参数进行设置:指出要计算的矩阵规格有2种,规格是1960,2048指出使用2种不同的分块大小,大小为60,80指出用2种进程组合方式,分别为(p2,q=2) 和(p4,q=1)p2,q=2时需要的进程数是pq224,运行时mpirun命令行中指定的进程数必须大于等于4以上3组每组有两种情况,组合后一共有8种情况,将得到8个性能测试值,经过不断的调试将会得出一个最大的性能值,这就是得到的最高性能值。 以下是其中一个性能测试值,规格为2048,分块是

21、60,p2,q=2时,运行时间为:56.14,运算速度为0.8165 Gflops。PASSED代表结果符合要求。=T/V N NB P Q Time Gflops-W13R2C4 2048 60 2 2 56.14 8.165e-01|Ax-b|_oo / ( eps * |A|_1 * N ) = 0.0175089 . PASSED|Ax-b|_oo / ( eps * |A|_1 * |x|_1 ) = 0.0035454 . PASSED|Ax-b|_oo / ( eps * |A|_oo * |x|_oo ) = 0.0007503 . PASSED3编译器选择(1)使用gcc编译

22、(2)使用icc编译系 统 结 构实验五 集群系统性能测试学院:学号:姓名:实验四 集群系统性能测试一、实验步骤:1. 计算计算机峰值速度。CPU主频:查看/proc/cpuinfo文件,将看见cpu的详细信息,其中 cpu MHz是主频值网上查找资料计算峰值速度2. 性能测试使用gcc编译器的情况下测试,并将最佳测试结果填写下面表格进程个数1234峰值速度HPL测试效率CPU个数NNBPQTimeGflops参与运算主机名3完成上述测试后比较和分析上面的测试结果,特别是如何能够得到高的性能测试值二、 设计思考实验1、 还有什么技术会影响测试结果,例如sse2、超线程等,请设计实验。并详细书写实验的采用的库文件、Makefile文件、测试结果、数据分析等。2、 如果采用intel编译器进行测试,比较测试结果

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1