Linpack的安装测试与优化
- 格式:ppt
- 大小:181.50 KB
- 文档页数:44
hpl算法流程HPL算法流程概述HPL(High Performance Linpack)是一种用于评估计算机性能的基准测试程序,它是由美国劳伦斯伯克利国家实验室开发的。
该程序主要用于测试并行计算机系统的性能,能够对计算机系统进行全面的测评,包括CPU、内存、存储等方面。
HPL算法流程主要分为以下几个步骤:1.环境配置2.数据预处理3.矩阵分解4.矩阵运算5.结果输出下面将详细介绍每个步骤的具体流程。
一、环境配置在进行HPL测试之前,需要先进行环境配置。
具体步骤如下:1.安装MPI(Message Passing Interface)库。
MPI是一种消息传递接口,用于实现多个进程之间的通信。
在HPL中,MPI库主要用于实现并行计算。
2.安装BLAS(Basic Linear Algebra Subprograms)库。
BLAS库是一个基本线性代数子程序库,包含了大量常用的线性代数运算函数。
3.安装HPL软件包。
HPL软件包是一个高性能线性代数软件包,主要用于求解稠密线性方程组。
二、数据预处理在进行矩阵分解和运算之前,需要对输入的矩阵进行预处理。
具体步骤如下:1.生成随机矩阵。
HPL测试需要一个大型的稠密矩阵作为输入,通常使用随机数生成器来生成这个矩阵。
2.将矩阵分块。
为了实现并行计算,HPL需要将大型的稠密矩阵分成多个小块,并将每个小块分配给不同的处理器进行计算。
3.将数据转换为二进制格式。
HPL使用二进制格式来存储输入数据,因为它比文本格式更快速、更节省空间。
三、矩阵分解在完成数据预处理之后,就可以开始进行矩阵分解了。
具体步骤如下:1.进行LU分解。
LU分解是一种常用的线性代数运算,用于将一个方阵分解成一个下三角矩阵和一个上三角矩阵的乘积。
2.对LU分解结果进行排序。
为了实现高效的并行计算,HPL需要对LU分解结果进行排序,并按顺序存储到内存中。
3.计算逆置指针数组。
逆置指针数组是一种特殊的数据结构,用于保存每个块在内存中的位置信息。
图片简介:本技术特别涉及一种X86平台实现Linpack测试快速执行方法。
该X86平台实现Linpack测试快速执行方法,将测试软件Linpack安装到Samba的共享文件夹中,然后在测试过程中将共享文件夹挂载到X86平台服务器指定位置,不需要安装在测试服务器上就能运行Linpack软件进行测试,且多台服务器可同时进行挂载进行Linpack测试,节省了安装软件的时间,提高了测试效率。
技术要求1.一种X86平台实现Linpack测试快速执行方法,其特征在于,包括以下步骤:(1)将一台Linux系统安装配置Samba服务,设置共享文件夹;(2)然后在设置的共享文件夹上安装Linpack测试软件,将待测试的服务器与配置的Samba服务器置于同一网段后,将Samba服务共享的文件夹挂载到待测试服务器上;在Samba服务器上多设置几份与上述内容相同的共享文件夹后,就能实现不同的测试服务器同时挂载,同时测试提高测试效率;(3)当有X86平台机器需要进行Linpack测试时,将待测的X86平台的服务器连接到与Samba服务器同一网段,然后将Samba服务器共享的文件夹挂载到X86平台服务器的上,添加程序运行的环境变量,即可运行Linpack程序。
2.根据权利要求1所述的X86平台实现Linpack测试快速执行方法,其特征在于,所述Samba服务器配置文件如下:public = yeswritable = yesvalid users = @kanasadmin users = lucas ##用户名create mask = 0777directory mask = 0777force user = nobodyforce group = nogroupavailable = yesbrowseable = yes[intel] ##共享文件夹名comment = l_cprocpath = /linpack/optpublic = yeswritable = yes。
Linpack测试手册(1)千兆以太网:Step1:安装MPICH2将MPICH2安装包放到/hpc目录下,运行:tar –xvf mpich2-1.0.2p1.tarcd mpich2-1.0.2p1创建MPICH2安装目录:mkdir /hpc/mpich2设置MPICH2安装目录:./configure --prefix=/hpc/mpich2配置完成后makemake install安装完成后退出当前目录进入/root目录编辑环境变量文件cd /rootvi .bashrc在文件最后附加一行PATH="$PATH:/hpc/mpich2/bin"关闭并保存文件,执行命令:source .bashrc检查which mpirun返回/hpc/mpich2/bin/mpirun则mpi安装正常。
下面进行通用作业启动机制配置:修改/root/.mpd.conf文件,内容为secretword=mywordcd /root#vi .mpd.conf文件内容如下SECRETWORD=123456设置文件读取权限和修改时间#touch /root/.mpd.conf#chmod 600 /root/.mpd.confcp ./.mpd.conf /etc/mpd.conf创建主机名称集合文件/root/mpd.hosts#vi mpd.hosts文件内容如下:cn01cn02cn03。
启动MPD进程:命令如下mpd & (单节点启动)或者通过mpdboot启动,命令如下mpdboot –n 16 –f /root/mpd.hosts (16为起动的机器的个数)观看启动机器:mpdtrace (看到所有启动机器的列表则正常)退出用命令:mpdallexitStep2:安装数学库(GotoBLAS)将数学库安装包GotoBLAS-1.26.tar.gz放到/hpc目录下,运行:tar –zxvf GotoBLAS-1.26.tar.gzcd GotoBLAS32 bit安裝:./quickbuild.32bit64 bit安裝:./quickbuild.64bit安裝完成后,在当前目录下会生成3个文件,系統根据你的CPU型式來取名,例如:libgoto.alibgoto_core2p-r1.14.a 系統根据你的CPU型式來取名libgoto_core2p-r1.14.so其中libgoto.a即为使用的数学库函数,记下该路径Step3:安装linpack测试包(hpl.tgz)将linpack测试包hpl.tgz放到/hpc目录下,运行tar –xvf hpl.tgzcd hplcd setupcp ./Make.Linux_PII_FBLAS /hpc/hpl/Make.testcd ..pwd目录为/hpc/hpl/vi Make.test编辑该文件如下地方需要更改:ARCH = testTOPdir = /hpc/hplINCdir = $(TOPdir)/includeBINdir = $(TOPdir)/bin/$(ARCH)LIBdir = $(TOPdir)/lib/$(ARCH)MPdir = /hpc/mpich2MPinc = -I$(MPdir)/includeMPlib = $(MPdir)/lib/libmpich.aLAdir = /hpc/GotoBLASLAlib = $(LAdir)/libgoto.aCC = $(MPdir)/bin/mpiccLINKER = $(MPdir)/bin/mpif77更改完毕保存后进行编译make arch=test完成后会在/hpc/hpl/bin下生成test目录,进入cd bin/test会看到2个文件HPL.dat 和xhpl编辑HPL.dat,设置如下:P值,Q值,NB值,Ns值可根据情况调整,不能超过sqrt((单个计算节点内存*计算节点个数)/8 )*0.8,否则可能导致测试中使用swap分区或者内存耗尽而导致的死机,P*Q=进程数=核数,16台计算节点,内存8G,每节点8核心数,共128核心例子如下:HPLinpack benchmark input fileInnovative Computing Laboratory, University of TennesseeHPL.out output file name (if any)6 device out (6=stdout,7=stderr,file)1 # of problems sizes (N)100000 Ns1 # of NBs192 NBs0 PMAP process mapping (0=Row-,1=Column-major)1 # of process grids (P x Q)8 Ps16 Qs16.0 threshold1 # of panel fact0 PFACTs (0=left, 1=Crout, 2=Right)1 # of recursive stopping criterium2 NBMINs (>= 1)1 # of panels in recursion2 NDIVs1 # of recursive panel fact.0 RFACTs (0=left, 1=Crout, 2=Right)1 # of broadcast0 BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM)1 # of lookahead depth0 DEPTHs (>=0)2 SWAP (0=bin-exch,1=long,2=mix)64 swapping threshold0 L1 in (0=transposed,1=no-transposed) form0 U in (0=transposed,1=no-transposed) form1 Equilibration (0=no,1=yes)8 memory alignment in double (> 0)编辑完成后创建运行节点的列表hostlist文件,每个核心对应一行节点名。
标准LinPack测试详细指南云计算系统的一个重要作用是向用户提供计算力,评价一个系统的总体计算力的方法就是采用一个统一的测试标准作为评判,现在评判一个系统计算力的方法中最为知名的就是LinPack测试,世界最快500台巨型机系统的排名采用的就是这一标准。
掌握LinPack测试技术对于在云计算时代评判一个云系统的计算力也有着重要意义。
本附录将对LinPack测试技术作详细的介绍。
1.LinPack安装在安装之前,我们需要做一些软件准备,相关的软件及下载地址如下。
(1)Linux平台,最新稳定内核的Linux发行版最佳,可以选择Red hat, Centos等。
(2)MPICH2,这是并行计算的软件,可以点击下面链接下载最新的源码包:/research/projects/mp ich2/downloads/index.php?s=downloads (3)Gotoblas,BLAS库(Basic Linear Algebra Subprograms)是执行向量和矩阵运算的子程序集合,这里我们选择公认性能最好的Gotoblas,最新版可点击下面链接下载(需要注册):/tacc- projects(4)HPL,LinPack测试的软件,可在点击下面链接下载最新版本:/benchmark/hpl/安装方法和步骤如下。
(1)安装MPICH2,并配置好环境变量,本书前面已作介绍。
(2)进入Linux系统,建议使用root用户,在/root下建立LinPack文件夹,解压下载的Gotoblas和HPL文件到LinPack文件夹下,改名为Gotoblas和hpl。
#tar xvf GotoBLAS-*.tar.gz#mv GotoBLAS-* ~/linpack/Gotoblas#tar xvf hpl-*.tar.gz#mv hpl-* ~/linpack/hpl(3)安装Gotoblas。
进入Gotoblas文件夹,在终端下执行./ quickbuild.64bit(如果你是32位系统,则执行./ quickbuild.31bit)进行快速安装,当然,你也可以依据README里的介绍自定义安装。
Linpack是国际上最流行的用于测试高性能计算机系统浮点性能的benchmark。
通过对高性能计算机采用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算机的浮点性能。
测试包括三类,Linpack100、Linpack1000和HPL 。
HPL即High Performance Linpack,也叫高度并行计算基准测试。
至目前为止,LINPACK 还是广泛地应用于解各种数学和工程问题。
也由于它高效率的运算,使得其它几种数学软件例如IMSL、MA TLAB 纷纷加以引用来处理矩阵问题,所以足见其在科学计算上有举足轻重的地位。
如何运行linpack:1.编译器的选择Gcc免费,通用,功能强大这里使用全安装方式下RedHat操作系统自带的GNU编译器。
2.mpi的选择Openmpi-1.2.4支持mpi2.0,功能强大,灵活,支持infiniband,效率高使用rsh或ssh可以自由切换,路径可以自己标志,编译器也可以改,一个版本支持多种通讯方式Openmpi安装过程因为默认的openmpi编译出来的库为动态库,所有要设置LD_LIBRARY_PA TH变量,如果想要不设,在编译openmpi时加上--disable-shared --enable-static 选项编辑/etc/profile,在文件的最后面加上蓝线区域内的内容,然后source一下,使更改生效。
输入which mpirun 出现如下信息,则说明环境已搭建成功。
库的安装库的选择一般认为gotoblas库(基本线性代数子方程)比较好,所以在这里我们就选用gotoblas 库。
当前所用机器为amd平台的机器,所以我们就直接选用gotoblas-1.26下面是具体的安装过程:修改make.rule文件。
将下面的蓝色行前面的#去掉,保存,退出。
Make生成库文件也可以直接运行gotoblas目录下的quickbuild.64bit文件来生成库文件。
hpc的常用测试基准
HPC(高性能计算)的常用测试基准包括以下几种:
1. LINPACK:用于衡量计算机系统的浮点运算性能,通过解线性方程组来评估计算机系统的性能。
2. SPEC(Standard Performance Evaluation Corporation):SPEC提供了一系列基准测试,包括SPEC CPU、SPECint、SPECfp等,用于评估计算机系统的整体性能。
3. HPL(High-Performance Linpack):是一种基于LINPACK的测试基准,用于评估计算机系统在大规模并行计算方面的性能。
4. HPC Challenge:包含一系列测试,包括HPL、PTRANS(并行通信带宽和延迟测试)、RandomAccess(随机访问测试)等,用于评估计算机系统在高性能计算方面的综合性能。
5. STREAM:用于评估计算机系统的内存带宽性能,通过进行一系列内存访问操作来测量系统的内存传输速率。
6. IO500:用于评估计算机系统在输入/输出(IO)操作方面的性能,包括文件读写速度、并行文件系统性能等。
这些测试基准可以帮助用户评估和比较不同计算机系统的性能,选择适合自己需求的HPC系统。
LINPACK算法及其测试方法改进优秀doc资料CN43—1258/TP ISSN 1007—130X计算机工程与科学COMPUTER ENGINEERING&SCIENCE2021年第30卷第A1期 V01.30。
No.A1,2021文章编号:1007—130X(2021A1—0032’04LINPACK LINPACK and the 算法及其测试方法Improvement of Its改进’。
乃st Method司照凯。
濮晨Sl Zhao-kai。
PU Chen(江南计算技术研究所,江苏无锡214083(Jiangnan Institute of Computing Technology.Wuxi 214083,China摘要:HPL(High Performance LINPACK是一种用来测试计算机浮点性能的基准测试程序,通过求解稠密线性方程组来评估计算机的浮点性能。
本文分析了HPL的核心算法,并对HPL的计时系统进行改进,提出了一种新的基于计时系统的测试方法,以达到快速完成LINPACK测试的目的,实验证明这种新的测试方法很有效。
experiment shows that this new way is helpful.关键词:高性能;LINPACK;BLAS;MPl;L,U factorizationKey words:high performance LINPACK;BLAS;M[Pl;LU factorization中图分类号:TP309文献标识码:A1引言LINPACK是当前评测计算机浮点性能的基准测试程序,TOP500a是根据计算机的LINPACK性能来进行排名。
LINPACK根据矩阵规模可以分为100×100,1000×1000和N×N三种[“,本文分析的High Pedormanee LIN-PACK(HPL属于N×N这一类。