HPC高性能计算平台Linpack测试手册_infiniband网络
hpc的常用测试基准

hpc的常用测试基准高性能计算(HPC)是一种用于处理大规模数据和复杂计算的技术,它在各个领域都有广泛的应用。
为了评估和比较不同HPC系统的性能,常常使用一些常用的测试基准来衡量其计算能力、存储带宽和内存访问速度等方面。
下面将介绍HPC常用测试基准的几个重要指标。
一、LinpackLinpack是评估大型集群计算机系统性能最常用的基准测试之一。
它通过解线性方程组来衡量计算机系统的运算速度。
线性方程组是很多科学和工程计算问题的基础,因此Linpack测试可以真实地反映出计算机系统的性能。
该测试基准的结果以每秒百万次浮点运算(MFLOPS)的形式呈现,MFLOPS值越高,计算机系统性能越好。
二、HPLHPL(High Performance Linpack)是Linpack测试在实际应用中的扩展和优化。
HPL是一种高效的并行计算方案,它可以提供更加准确和可靠的计算能力评估。
HPL测试的结果同样以MFLOPS形式呈现,但相较于传统Linpack测试,HPL在处理大规模问题时更加稳定和可靠。
三、HPC ChallengeHPC Challenge是一整套HPC性能测试工具,主要用于评估HPC系统在不同方面的性能,包括处理器性能、内存性能、存储性能等。
HPC Challenge包含了一系列的测试项目,例如随机访问、带宽、点积计算等。
通过执行这些测试项目,可以全面评估HPC系统的性能和可扩展性。
四、STREAMSTREAM测试是用于评估内存系统的性能的基准测试。
它通过执行一系列内存操作来测量内存的带宽和延迟。
STREAM测试结果以GB/s形式呈现,表示内存系统每秒钟能够传输的数据量,带宽值越高表示内存系统性能越好。
五、SPEC HPCSPEC HPC是一系列基准测试,专门针对科学和工程计算的应用场景进行性能评估。
SPEC HPC基准测试覆盖了许多复杂的应用程序,例如流体动力学、分子动力学、量子化学等领域。
它能够测量HPC系统在不同应用场景下的运算速度和效率。
HPC高性能计算平台Linpack测试手册_infiniband网络

Linpack测试手册(1)Voltaire Infiniband:Step1:安装voltaire MPI(与HCA卡驱动集成在一起)安装HCA卡驱动:将驱动安装包VoltaireOFED-5.1.3.1_5-k2.6.18-92.el5-x86_64.tar.bz2放到/root 目录下,运行命令:tar –zxvf VoltaireOFED-5.1.3.1_5-k2.6.18-92.el5-x86_64.tar.bz2cd VoltaireOFED-5.1.3.1_5-k2.6.18-92.el5-x86_64./install.sh安装完毕后查看voltaire MPI是否正常Which mpicc提示/opt/vltmpi/OPENIB/mpi/bin/mpicc则返还正常,可进行下一步。
Step2:安装数学库(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编辑该文件如下地方需要更改:TOPdir = /hpc/hplINCdir = $(TOPdir)/includeBINdir = $(TOPdir)/bin/$(ARCH)LIBdir = $(TOPdir)/lib/$(ARCH)MPdir = /opt/vltmpi/OPENIB/mpiMPinc = -I$(MPdir)/includeMPlib = $(MPdir)/lib/libmpich.aLAdir = /hpc/GotoBLASLAlib = $(LAdir)/libgoto.aCC = /opt/vltmpi/OPENIB/mpi/bin/mpiccLINKER = /opt/vltmpi/OPENIB/mpi/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 recursion1 # 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文件,每个核心对应一行节点名。
高性能计算介绍

常见编译器
Intel Compiler 由Intel公司针对Intel处理器开发(Xeon、Pentium) 支持Linux、Windows 支持C/C++(icc:Intel C/C++ Compiler)、Fortran77/90/95 (ifc: Intel Fortran Compiler) 支持多线程和OpenMP
•ScaLAPACK:可扩展线性代数库(Scalable LAPACK),是LAPACK的增强版本 是美国能源部ODE2000支持开发的20多个ACTS工具箱之一,由Oak Ridge国家 实验室、加州大学Berkeley分校和Illinois大学等联合开发 分布式存储环境运行的线性代数库,主要为可扩放的、分布存储的并行计算机而 设计的 支持稠密和带状矩阵的各类操作,如:乘法、转置、分解等等 开发源码,/scalapack
消息传递编程
常见并行环境——并行编程标准归 类
• 所有并行编程标准可分为以下三类:
– 数据并行
• HPF, Fortran90 • 用于SMP, DSM
– 共享编程
• OpenMP • 用于SMP, DSM
– 消息传递
• MPI, PVM • 用于所有并行计算机
• 三者可混合使用:
– 如对以SMP为节点的Cluster来说, 可以在节点间进行 消息传递,在节点内进行共享变量编程.
IBM Compiler for AIX VisualAge C/C++ for AIX XL Fortran for AIX
在IBM AIX Developer Kit中,包含了Java(TM) 2 Technology Edition支持。 Practical Extraction and Report Language (perl) GNU C/C++ Python
Linpack 的安装调试、优化

Linpack的安装调试、优化目录一.Linpack的安装与调试 (2)1.编译器的安装 (2)2.并行环境MPI的安装 (2)3.数学库的安装 (3)4.HPL的安装 (3)二.Linpack的优化与运行 (5)1.HPL.dat中参数的优化 (5)2.xhpl运行的方式 (5)3.查看分析结果 (6)版本:V1.42012/3/23一.Linpack的安装与调试Linpack是国际上最流行的用于测试高性能计算机系统浮点性能的benchmark。
通过对高性能计算机采用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算机的浮点性能,Linpack测试包括三类,Linpack100、Linpack1000和HPLHPL是针对现代并行计算机提出的测试方式。
用户在不修改任意测试程序的基础上,可以调节问题规模大小(矩阵大小)、使用CPU数目、使用各种优化方法等等来执行该测试程序,以获取最佳的性能1.编译器的安装常用的编译器有:GNU PGI Intel编译器,如果CPU是Intel的产品,最好使用Intel的编译器,它针对自己的产品做了一些优化,可能效果要好一些。
这里使用全安装方式下CentOS6.2操作系统自带的GNU编译器。
2.并行环境MPI的安装常用的MPI并行环境有:MPICH OpenMPI Intel的MPI等。
如果CPU是Intel的产品,提议使用Intel的MPI。
这里使用OpenMPI 。
安装步骤:本例中各软件安装在/home/richard目录下下载openmpi‐1.4.5.tar.gz#tar zxvf openmpi‐1.4.5.tar.gz#mv openmpi‐1.4.5 openmpi#cd openmpi#./configure ‐‐prefix=/home/richard/openmpi#make all install安装过程比较长,请耐心等待……安装完成后,#export PATH=/home/richard/openmpi/bin:$PATH#export LD_LIBRARY_PATH=/home/richard/openmpi/lib:$LD_LIBRARY_PATH#source在命令行输入mpi加两次Tab键,如果下面能正常显示mpirun,mpicc…就说明变量添加成功,但在每次重启都会消失,需重新添加,可在~/.bashrc中永久添加3.数学库的安装采用BLAS库的性能对最终测得的Linpack性能有密切的关系,常用的BLAS库有GOTO、Atlas、ACML、MKL等,测试经验是GOTO库性能最优。
标准Linpack测试详细指南

标准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里的介绍自定义安装。
HPC高性能计算技术交流

IBM Technical Support Center
© 2006 IBM Corporation
Linux Cluster
HPC 常见行业
生命科学研究
蛋白质分子是非常复杂的链,实际上可以表示为无数个 3D 图形。实际上,在将蛋白质放到某 种溶液中时,它们会快速“折叠”成自己的自然状态。不正确的折叠会导致很多疾病,例如 Alzheimer 病;因此,对于蛋白质折叠的研究非常重要。 科学家试图理解蛋白质折叠的一种方 式是通过在计算机上进行模拟。实际上,蛋白质的折叠进行得非常迅速(可能只需要 1 微 秒),不过这个过程却非常复杂,这个模拟在普通的计算机上可能需要运行 10 年。这个领域 只不过是诸多业界领域中很小的一个,但是它却需要非常强大的计算能力。 业界中其他领域包括制药建模、虚拟外科手术训练、环境和诊断虚拟化、完整的医疗记录数据 库以及人类基因项目。
© 2006 IBM Corporation
Linux Cluster
Infiniband
Infiniband 对比私有协议互联
– 支持10Gb/sec 已经超过5年 – 2004年6月到2006年6月间,在TOP500中增长率300% – 私有协议技术每年在TOP500减少50% – 低延迟 – 服务器CPU卸载
震动图中包含有大陆和洋底内部特性的详细信息,对这些数据进行分析可以帮助我 们探测石油和其他资源。即便对于一个很小的区域来说,也有数以 TB 计的数据需 要重构;这种分析显然需要大量的计算能力。这个领域对于计算能力的需求是如此 旺盛,以至于超级计算机大部分都是在处理这种工作。
其他地理学方面的研究也需要类似的计算能力,例如用来预测地震的系统,用于安
高性能计算(HPC)PPT课件

如何做好HPC的销售工作之应用 篇
•4、流体力学/分子动力学
主要应用软件:CFD(Ansys、Fluent)工程计算 软件
了解用户研究方向:流体材料、空气动力、 化学反应
了解关键词:并行效果高,动态负载均衡
CPU选型:advanced
内存选型:1、根据CPU
2、需要大内. 存
10
如何做好HPC的销售工作之应用 篇
支持GPGPU 的生物计算软件-GROMACS
支持GPGPU 的生物计算软件-NAMD 支持GPGPU 的生物计算软件-HMMER 支持GPGPU 的生物计算软件-MUMmerGPU
支持GPGPU 的生物计算软件-AxRecon
.
15
.
6
如何做好HPC的销售工作之应用 篇
•1、计算物理
•主要应用软件:VASP 了解用户研究方向:物理计算方向有金属、半导体、绝缘体 了解关键词:Kpoint 4X4X4 8X8X8 CPU选型:advanced 内存选型:1、根据CPU
2、CPU及Kpoint 硬盘选型:I/O量小,SATA 网络选型:跟进Kpoint 软件线性比:高
•5、量子化学 主要应用软件:ADF
了解用户研究方向:物理光谱、分子计算、 材料计算
了解关键词:并行效果高,动态负载均衡
CPU选型:advanced
内存选型:1、根据CPU
2、不需要大内存
硬盘选型:I/O量小,SA. TA
11
如何做好HPC的销售工作之应用 篇
•6、材料计算 主要应用软件:wien2k 了解用户研究方向:材料计算、电导率
.
7
如何做好HPC的销售工作之应用 篇
•2、计算材料
•主要应用软件:Materials Studio
高性能计算习题及答案

高性能计算练习题1、一下哪种编程方式适合在单机内并行?哪种适合在多机间并行?单机:Threading线程、OpenMP;多机:MPI。
2、例题:HPC集群的峰值计算能力:一套配置256个双路X5670处理器计算节点的HPC集群。
X5560:2.93GHz Intel XS5670 Westmere六核处理器,目前主流的Intel处理器每时钟周期提供4个双精度浮点计算。
峰值计算性能:2.93GHz*4Flops/Hz*6Core*2CPU*256节点=36003.8GFlops。
Gflops=10亿次,所以36003Gflops=36.003TFlops=36.003万亿次每秒的峰值性能。
3、Top500排名的依据是什么?High Performance Linpack(HPL)测试结果4、目前最流行的GPU开发环境是什么?CUDA5、一套配置200TFlops的HPC集群,如果用双路2.93GHz Intel westmere六核处理器X5670来构建,需要用多少个计算节点?计算节点数=200TFlops/(2*2.93GHz*6*4Flops/Hz)=14226、天河1A参与TOP500排名的实测速度是多少,效率是多少?2.57PFlops 55%7、RDMA如何实现?RDMA(Remote Direct Memory Access),数据发送接收时,不用将数据拷贝到缓冲区中,而直接将数据发送到对方。
绕过了核心,实现了零拷贝。
8、InfiniBand的最低通讯延迟是多少?1-1.3usec MPI end-to-end,0.9-1us InfiniBand latency for RDMA operations9、GPU-Direct如何加速应用程序运行速度?通过除去InfiniBand和GPU之间的内存拷贝来加速程序运行。
•GPUs provide cost effective way for building supercomputers【GPUs提供高效方式建立超级计算机】•Dense packaging of compute flops with high memory bandwidth【使用高端内存带宽的密级封装浮点计算】10、网络设备的哪个特性决定了MPI_Allreduce性能?集群大小,Time for MPI_Allreduce keeps increasing as cluster size scales,也就是说集群的规模决定了MPI_Allreduce的性能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linpack测试手册(1)Voltaire Infiniband:Step1:安装voltaire MPI(与HCA卡驱动集成在一起)安装HCA卡驱动:将驱动安装包VoltaireOFED-5.1.3.1_5-k2.6.18-92.el5-x86_64.tar.bz2放到/root 目录下,运行命令:tar –zxvf VoltaireOFED-5.1.3.1_5-k2.6.18-92.el5-x86_64.tar.bz2cd VoltaireOFED-5.1.3.1_5-k2.6.18-92.el5-x86_64./install.sh安装完毕后查看voltaire MPI是否正常Which mpicc提示/opt/vltmpi/OPENIB/mpi/bin/mpicc则返还正常,可进行下一步。
Step2:安装数学库(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编辑该文件如下地方需要更改:TOPdir = /hpc/hplINCdir = $(TOPdir)/includeBINdir = $(TOPdir)/bin/$(ARCH)LIBdir = $(TOPdir)/lib/$(ARCH)MPdir = /opt/vltmpi/OPENIB/mpiMPinc = -I$(MPdir)/includeMPlib = $(MPdir)/lib/libmpich.aLAdir = /hpc/GotoBLASLAlib = $(LAdir)/libgoto.aCC = /opt/vltmpi/OPENIB/mpi/bin/mpiccLINKER = /opt/vltmpi/OPENIB/mpi/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 recursion1 # 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文件,每个核心对应一行节点名。
8核心示意如下:Vi hostlistcn01cn01cn01cn01cn01cn01cn01cn01cn02cn02cn02cn02cn02cn02cn02cn02...cn16cn16cn16cn16cn16cn16cn16cn16保存该文件后按如下命令运行linpack测试:Mpirun_ssh –hostfile ./hostlist –np 128 ./xhpl进行计算,计算完毕后得出计算结果。
如下所示============================================================================ HPLinpack 1.0a -- High-Performance Linpack benchmark -- January 20, 2004 Written by A. Petitet and R. Clint Whaley, Innovative Computing Labs., UTK ============================================================================An explanation of the input/output parameters follows:T/V : Wall time / encoded variant.N : The order of the coefficient matrix A.NB : The partitioning blocking factor.P : The number of process rows.Q : The number of process columns.Time : Time in seconds to solve the linear system.Gflops : Rate of execution for solving the linear system.The following parameter values will be used:N : 103000NB : 168PMAP : Row-major process mappingP : 8Q : 16PFACT : LeftNBMIN : 2NDIV : 2RFACT : LeftBCAST : 1ringDEPTH : 0SWAP : Mix (threshold = 64)L1 : transposed formU : transposed formEQUIL : yesALIGN : 8 double precision words----------------------------------------------------------------------------- The matrix A is randomly generated for each test.- The following scaled residual checks will be computed:1) ||Ax-b||_oo / ( eps * ||A||_1 * N )2) ||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 )3) ||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo )- The relative machine precision (eps) is taken to be 1.110223e-16 - Computational tests pass if scaled residuals are less than 16.0============================================================================ T/V N NB P Q Time Gflops ---------------------------------------------------------------------------- WR00L2L2 103000 168 8 16 682.09 1.068e+03 ---------------------------------------------------------------------------- ||Ax-b||_oo / ( eps * ||A||_1 * N ) = 0.0020002 ...... PASSED ||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 ) = 0.0026000 ...... PASSED ||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo ) = 0.0004820 ...... PASSED ============================================================================Finished 1 tests with the following results:1 tests completed and passed residual checks,0 tests completed and failed residual checks,0 tests skipped because of illegal input values.----------------------------------------------------------------------------End of Tests.============================================================================ Cleaning up all processes ...done.用例中有效计算值为1.068e+03————10680亿次每秒。