---2008.
11云南昆明---8008100466售前工程师:张希韬TEL:13888565007Liuyi13888013108wangwei138880020631.
曙光简介2.
高性能计算机基础3.
LINUX基础4.
高性能集群并行环境基础5.
机房现场介绍1.
曙光简介(见PPT)2.
高性能计算基础2.
1什么是高性能并行计算机由众多部件组成,具有运算速度快、存储容量大、可靠性高的特性.
也称为:巨型计算机、超级计算机目前任何高性能计算和超级计算都离不开使用并行技术,所以高性能计算机肯定是并行计算机.
2.
2高性能计算机的发展专用时代包括向量机,MPP系统,SGINUMA系统,SUN大型SMP系统,也包括我国的神威,银河,曙光1000,KJ.
之所以称为"专用",并不是说它们只能运行某种应用,是指它们的组成部件是专门设计的,它们的CPU板,内存板,I/O板,操作系统,甚至I/O系统,都是不能在其它系统中使用的.
由于技术上桌面系统与高端系统的巨大差异,和用户群窄小.
普及时代高性能计算机价格下降,应用门槛降低,应用开始普及.
两个技术趋势起到重要作用.
商品化趋势使得大量生产的商品部件接近了高性能计算机专有部件标准化趋势使得这些部件之间能够集成一个系统中,其中X86处理器、以太网、内存部件、Linux都起到决定性作用.
机群系统是高性能计算机的一种,其技术基础和工业基础都是商品化和标准化.
2.
3流行的高性能计算机架构并行向量机SMPDSM(NUMA)MPP,节点可以是单处理器的节点,也可以是SMP,DSMCluster混合架构2.
4高性能计算市场竞争格局HPIBMDELL联想SGI曙光三大厂商机架式服务器三大厂商刀片式服务器2.
5曙光高性能计算解决方案PHPC机架式集群刀片式集群二代小型机机架式集群应用领域–计算中心、CAE、计算化学、生物信息学等8-128节点应用曙光方案计算节点:A(I)610r-F、A(I)620r-F、A820r-F等管理节点:A(I)620r-F、A(I)650r-F等存储节点:A(I)620r-F、A(I)650r-F等存储阵列:DS6310、DS8310、DS8340计算网:H3CS5100/5600或Infiniband管理网:H3CS5100或D-link百兆、千兆交换机管理软件:DCOS、DCAS作业管理软件:OpenPBS、Torque、SGE或PBSPro编译器:Intel、PGI中小规模集群(8-64)大规模集群(64-128)刀片式集群应用领域–计算中心、CAE、计算化学、生物信息学等8-512节点应用曙光方案计算节点:TC2600Intel双路、AMD双路、AMD四路管理节点:A(I)620r-F、A(I)650r-F等存储节点:A(I)620r-F、A(I)650r-F等存储阵列:DS6310、DS8310、DS8340计算网:H3CS5100/5600或Infiniband管理网:H3CS5100或D-link百兆、千兆交换机管理软件:DCOS、DCAS作业管理软件:OpenPBS、Torque、SGE或PBSPro编译器:Intel、PGI刀片服务器方案优势–大规模计算机群功耗、占地面积有明显降低,节能环保–丰富的管理软件,提升系统易用性刀片集群(64-256)曙光5000系统曙光5000的第一套系统于08年12月落户"上海超级计算中心",系统峰值运算速度达到每秒230万亿次浮点运行(230TFLOPS),是目前国内速度最快的商用高性能计算机系统,这标志着中国成为继美国之后第二个能制造和应用超百万亿次商用高性能计算机的国家,也表明我国生产、应用、维护高性能计算机的能力达到世界先进水平曙光5000是节点以刀片为主(刀片的CPU总数超过60个),集成GridView软件和曙光机柜的高性能计算机系统曙光5000系统:每机柜可达50片四路四核刀片(占用空间35U)每机柜可达200CPU,800核的超高计算密度曙光公司部分成功案例中科院物理所中科院力学所中科院物数所中国地质大学材化学院中国地质大学数物学院中科院长春应用化学所云南大学烟台师范大学物理系华东理工大学郑州大学材料物理实验室武汉大学纳米设计实验室武汉大学空间物理实验室华中师范大学化学系中山大学物理系山东师范大学:湘潭大学:南京航空航天大学:3.
LINUX基础(见PPT)4.
高性能集群并行环境基础并行编程标准1.
多线程库标准–Win32API.
–POSIXthreads.
2.
编译制导标准–OpenMP–可移植共享存储并行编程标准.
3.
消息传递库标准–MPI–PVMMassagePassingInterface:是消息传递函数库的标准规范.
由MPI论坛开发.
支持Fortran和C.
一种新的库描述,不是一种语言.
发展的两个阶段MPI1.
1:1995MPICH:是MPI最流行的非专利实现,由Argonne国家实验室和密西西比州立大学联合开发,具有更好的可移植性.
MPI1.
2-2.
0:动态进程,并行I/O,支持F90和C++(1997).
消息传递并行程序设计指用户必须通过显式地发送和接收消息来实现处理机间的数据交换.
在这种并行编程中,每个并行进程均有自己独立的地址空间,相互之间访问不能直接进行,必须通过显式的消息传递来实现.
这种编程方式是大规模并行处理机(MPP)和机群(Cluster)采用的主要编程方式.
并行计算粒度大,特别适合于大规模可扩展并行算法由于消息传递程序设计要求用户很好地分解问题,组织不同进程间的数据交换,并行计算粒度大,特别适合于大规模可扩展并行算法.
消息传递是当前并行计算领域的一个非常重要的并行程序设计方式为什么要用MPI高可移植性MPI已在IBMPC机上、MSWindows上、所有主要的Unix工作站上和所有主流的并行机上得到实现.
使用MPI作消息传递的C或Fortran并行程序可不加改变地运行在IBMPC、MSWindows、Unix工作站、以及各种并行机上.
PBS作业调度系统PBS最初由NASA的Ames研究中心开发,为了提供一个能满足异构计算网络需要的软件包.
它力求提供对批处理的初始化和调度执行的控制,允许作业在不同主机间的路由.
OpenPBS作业调度系统组成资源管理器:管理集群的硬件资源及认证信息等队列管理器:管理当前所有已提交但还未完成的作业调度器:为作业分配资源作用单一系统映象机群松散的结构的整合系统资源整合异构系统的整合多用户的管理用户提交的任务的统一安排,避免冲突用户权限的管理非授权用户的控制作业管理系统的结构作业特性比较支持支持不支持支持支持POSIX批处理API标准支持,功能强支持,功能弱支持,功能强大支持,功能强支持PVM/MPI支持支持支持支持支持并行作业支持不支持支持支持支持海量作业组支持不支持支持支持支持交互式作业支持支持支持支持支持批处理作业详细较简单非常详细非常详细用户文档支持付费后开放开放不开放开放源代码开放支持支持不支持支持支持DRMAAAPI/GUI/CLI/WEB,管理方便API/GUI/CLI,功能少API/GUI/CLI/WEB,管理方便API/GUI/CLI/WEB,管理复杂用户操作接口仅Unix,多硬件仅Unix,多硬件Unix&NT,多硬件Unix&NT,多硬件支持异构平台PBSPROOPENPBSLSFSGE系统特性队列管理、调度特性比较支持支持支持,且有专利的高效的竞标式算法支持支持共享调度支持不支持支持支持支持抢占调度不支持不支持算法支持,使用方便,且十分高效从6.
0起支持,但使用较复杂Backfill调度支持不支持支持支持高级资源预留支持支持不开源,故不支持支持使用外部调度器支持支持不开源,故不支持支持自定义调度算法支持,多种算法支持,2种算法支持,6种算法支持,2种算法标准调度算法支持支持支持支持支持作业前置/后置脚本支持,功能完善支持,功能简单支持,功能完善支持,功能完善支持作业控制支持支持支持支持支持多队列调度PBSPROOPENPBSLSFSGE系统特性PBS的组成服务器:pbs_server调度器:pbs_sched执行器:pbs_mom命令行:用户脚本,管理命令等PBS的基本原理PBS的使用步骤准备:编写描述改作业的脚本,包括作业名,需要的资源等.
提交:使用qsub命令将该作业提交给PBS服务器排队:服务器将该任务排入适当的队列调度:服务器检查各工作节点的状态是否符合该作业的要求,并进行调度.
执行:当条件满足时,作业被发给相应的执行服务器执行.
程序运行时执行服务器会收集程序的标准输出和标准错误流,等程序结束时,将这些信息返回给用户.
查询和调整:当作业在运行时,用户可以使用qstat进行状态查询.
用户发现作业提交错误时,可以使用qdel删除正在运行的作业.
查看结果:使用文本编辑软件vi或者系统命令cat,less等查看输出及错误信息显示.
PBS的基本命令在PBS系统中,用户使用qsub命令提交用户程序.
用户运行程序的命令及PBS环境变量设置组成PBS作业脚本,作业脚本使用如下格式提交到PBS系统运行:[zhaocs@node1~]$qsubqsub运行参数该参数指定作业脚本申请的PBS系统资源列表.
申请资源列表使用如下格式:资源名>[=[]][,资源名[=[例如作业希望申请在双路节点上申请5个CPU资源的情况,则可以在脚本中如下:#PBS–lnodes=2:ppn=2+:ppn=1-l指定作业提交的目标队列,其中目标队列可以是目标队列、目标节点名或者是目标节点上的队列.
如果目标队列是一个路由队列,那么服务器可能把作业路由到新的队列中.
如果该参数没有指定,命令qsub会把作业脚本提交到缺省的队列中.
-q指定提交的作业名-N该参数指定标准错误输出的位置,缺省的情况下,PBS系统把标准输出和标准错误输出放在用户qsub命令提交作业的目录下.
标准错误输出:.
o标准错误输出:.
e路径使用如下格式标准:[:]-o-e使用不同的用户来提交作业,缺省使用当前用户名-A向PBS系统指定作业运行的开始时间.
作业运行时间格式为:CC]YY]MM]DD]hhmm[.
SS]-a说明运行参数PBS作业脚本注释,以"#"开头PBS指令,以"#PBS"开头SHELL命令#PBS–Nvasp.
Hg#PBS–lnodes=8:ppn=2echo"Thisjobsis"$PBS_JOBID@$PBS_QUEUEcd$PBS_O_WORKDIRmpirun-np16-machinefile$PBS_NODEFILE.
/vaspPBS的环境变量PBS脚本在执行时的队列名$PBS_QUEUEPBS系统指定的作业运行的节点名.
该变量在并行机和机群中使用.
当在PBS脚本中用#PBS–lnodes=2:ppn=2指定程序运行的节点数时,可以使用$PBS_NODEFILE在脚本中引用PBS系统指定的作业运行的节点名.
比如:#PBS–lnodes=2:ppn=2mpirun–np4–machinefile$PBS_NODEFILE$PBS_NODEFILE用户指定的作业名,可以在作业提交的时候用qsub–N指定,或者在PBS脚本中加入#PBS–N.
$PBS_JOBNAME作业被PBS系统指定的作业号$PBS_JOBIDqsub提交的作业的绝对路径$PBS_O_WORKDIRqsub提交的作业的最初队列名称$PBS_O_QUEUEqsub提交的节点名称$PBS_O_HOST包括$HOME,$LANG,$LOGNAME,$PATH,$MAIL,$SHELL和$TZ.
登陆SHELL继承来的变量说明变量名PBS作业脚本注释,以"#"开头PBS指令,以"#PBS"开头SHELL命令#PBS–Nvasp.
Hg#PBS–lnodes=8:ppn=2#PBS–q@node1echo"Thisjobsis"$PBS_JOBID@$PBS_QUEUEcd$PBS_O_WORKDIRmpirun-np16-machinefile$PBS_NODEFILE.
/vaspPBS作业脚本举例#这是一个串行作业脚本的例子#PBS–NLoop.
out#PBS–lnodes=1:ppn=1cd/public/home/zhaocs/test/.
/a.
out>$HOME/result/a.
result#这是一个并行作业脚本的例子#PBS–Nvasp.
Hg#PBS–lnodes=8:ppn=2#PBS–q@node1echo"Thisjobsis"$PBS_JOBID@$PBS_QUEUEcd$PBS_O_WORKDIRmpirun-np16-machinefile$PBS_NODEFILE.
/vasp一个复杂的PBS作业脚本#!
/bin/bash#PBS-Njobname#PBS-lnodes=4:ppn=2cat`echo$PBS_NODEFILE`>$HOME/$PBS_JOBID.
nodesfornodein`cat$HOME/$PBS_JOBID.
nodes`dorsh$nodemkdir/tmp/$PBS_JOBIDrsh$nodecp-rf$PBS_O_WORKDIR/*/tmp/$PBS_JOBID/donecd/tmp/$PBS_JOBIDmpirun-np8-machinefile$PBS_NODEFILE$HOME/bin/vaspcp-rf/tmp/$PBS_JOBID/*$PBS_O_WORKDIR/fornodein`cat$HOME/$PBS_JOBID.
nodes`dorsh$noderm-rf/tmp/$PBS_JOBIDdonerm$HOME/$PBS_JOBID.
nodes查询和取消作业[dawning@node1~]$qstat@node1JobidNameUserTimeUseSQueue-93.
node1test.
pbszhaocs0Rdefault95.
node1vasp.
Hgvasp0Edefault111.
node1structureamber0Qdefault[zhaocs@node1~]$qdel93.
node1查询作业运行的位置[zhaocs@node1~]$pbsnode-a[zhaocs@node1~]$qstat–f[zhaocs@node1~]$qstat-r错误处理作业提交后处于排队状态没有可用的节点,也就是节点资源被其他作业使用;节点处于忙状态;调度器失效;指定的节点失效,或者节点上的mom失效作业提交后异常结束脚本文件使用的是windows格式脚本中使用一些命令路径问题脚本退出但是作业没有退出用户使用的文件的权限问题处理方法的原则是查看作业的标准输入和标准错误输出的结果错误处理(续)如果环境配置错误,可能导致作业反复在等待状态和运行状态转换,可以通过"qdel作业号"将该作业删除再重新配置环境.
可能出现作业显示为运行状态,但是已经没有活动的进程,可通过"qsig–SIGNULL作业号"通知server作业已经退出.
作业的输出无法传出,可能是以下原因造成:目标主机不被信任,并且用户没有.
rhost文件指定了一个错误的路径名指定的目标目录不可写目标主机的用户.
cshrc执行时产生了输出.
执行主机的PWS的spool目录没有使用正确的权限,这个目录必须使用1777权限(drwxrwxrwx).
PBS的常用命令提交作业$qsubtest.
pbs-lnodes=16-l用于描述作业需要的资源,例如:nodes=4(4节点每节点1个CPU)nodes=2:ppn=2(2节点每节点2个CPU)nodes=1:ppn=2+2:ppn=1(1个双CPU节点和2个单CPU的节点)当前任务状态得到PBS的当前状态:qstat当前节点状态pbsnodes-{a|l}][-sserver]-a列出所有结点及其属性,属性包括"state"和"properties"-c清除结点列表中的"offline"或"down"状态设置,使结点可以被分配给作业.
-l以行的方式列出被标记的结点的状态-o将指定结点的状态标记为"offline".
这将帮助管理员暂时停止某些结点的服务.
-r清除指定结点的"offline"状态-s指定服务器当前节点状态节点状态节点名CPU数其他常用命令qselect–q[队列名]qdel-Deletesataskinthequeue.
qdeljob_identifier.
.
.
qhold-Suspendsajobinthequeue.
qholdjob_identifier.
.
.
qrls-Reactivatesasuspendedjobinthequeue.
qrlsjob_identifier.
.
.
qrerun重新运作作业qmove目标队列作业IDOpenPBS服务器管理PBS服务器管理命令设置服务器级的访问控制ssacl_host_enable=true指明是否使用acl_hosts属性,缺省为falsessacl_hosts+=hostname.
domain缺省值允许所有的主机ssacl_user_enable=truessacl_users+=user@hostname.
domain设置队列级的访问控制sqqnameacl_host_enable=truesqqnameacl_hosts+=hostname.
domainsqqnameacl_user_enable=truesqqnameacl_users+=user@hostname.
domainsqqnameacl_group_enable=truesqqnameacl_groups=group_name,[…]缺省为允许所有组设置服务器与队列的资源限制服务器级ssresources_default.
resource_name=value队列级sqqnameresources_default.
resource_name=value资源作业执行中需要的东西.
例如:某个特定的节点、某个软件包,或者是CPU时间,内存等.
qsub–lcput=00:10:00script资源描述cput作业总共需要的CPU时间.
file作业要创建的文件大小.
nice作业优先级(nice值).
pcput作业中单个进程需要的CPU时间.
pmem作业中单个进程需要的物理内存大小.
pvmem作业中单个进程需要的虚拟内存大小.
vmem作业总共需要的虚拟内存大小.
walltime作业运行的实际时间.
arch作业需要的系统体系结构.
host作业运行的节点名.
nodes作业运行需保留的节点数.
other其他资源.
software作业需要的软件报名称.
正在运行的作业数目限制服务器级ssmax_running=value(最多正在运行作业的数目)ssmax_user_run=value(最多单个用户作业数目)ssmax_group_run=value(最多单个组任何用户运行的作业数目)队列级sqqnamemax_running=valuesqqnamemax_user_run=valuesqqnamemax_group_run=valuePBS的图形界面Xpbs主窗口Xpbs主窗口主要有以下几个部分组成:菜单,主机,队列,作业和提示信息.
其中菜单包括手工更新数据、自动更新数据、提交作业、跟踪作业、参数选择、关闭和帮助等.
PBS图形界面(xpbs)Xpbsmon图形界面监控Xpbsmon是PBS的节点监控的图形界面,可以直观的显示PBS所运行的系统环境中所有节点机的工作状态.
Xpbsmon的配置文件是$PBS_LIB/xpbsmon/xpbsmonrc和$HOME/.
xpbsmonrc($PBS_LIB默认/usr/lib,$HOME为/root)(参考)Linpack测试介绍Linpack是国际上最流行的用于测试高性能计算机系统浮点性能的benchmark.
通过对高性能计算机采用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算机的浮点性能.
Linpack测试包括三类,Linpack100、Linpack1000和HPL.
HPL是针对现代并行计算机提出的测试方式.
用户在不修改任意测试程序的基础上,可以调节问题规模大小(矩阵大小)、使用CPU数目、使用各种优化方法等等来执行该测试程序,以获取最佳的性能.
Linpack测试步骤1、编译器的安装2、并行环境MPI的安装3、BLAS库的安装4、HPL的安装5、运行的方式6、查看结果1、编译器的安装常用的编译器有:GNUPGIIntel编译器如果CPU是Intel的产品,最好使用Intel的编译器,它针对自己的产品做了一些优化,可能效果要好一些.
这里使用全安装方式下RedHat系统自带的GNU编译器.
2、并行环境MPI的安装常用的MPI并行环境有:MPICHLAM-MPIopenmpiIntel的MPI等.
如果CPU是Intel的产品,提议使用Intel的MPI.
这里使用MPICH.
安装步骤:本例中各软件安装在/dawn/test目录下下载mpich.
tar.
gz拷贝到/dawn/test目录#cd/dawn/test#tarzxvfmpich.
tar.
gz#cdmpich-1.
2.
7p1#.
/configure--prefix=/dawn/test/mpich-gnu--cc=gcc--c++=g++--fc=g77#make#makeinstall#vi~/.
bashrc文件加入exportPATH=/dawn/test/mpich-gnu/bin:$PATH#source~/.
bashrc命令使PATH路径起作用.
#whichmpirun,结果应为/dawn/test/mpich-gnu/bin/mpirun,说明PATH已被正确设置.
#vi/dawn/test/mpich-gnu/share/machines.
LINUX加入主机名称,运行第一种HPL用3、BLAS库的安装采用BLAS库的性能对最终测得的Linpack性能有密切的关系,常用的BLAS库有GOTO、Atlas、ACML、ESSL、MKL等,测试经验是GOTO库性能最优.
如果CPU是Intel的产品,建议使用MKL.
这里使用GOTO库.
安装步骤:下载最新的源代码包GotoBLAS-1.
13.
tar.
gz到/dawn/test目录下,此版本的已不需要补丁文件#tarzxvfGotoBLAS-1.
13.
tar.
gz,解压到GotoBLAS目录里面#viMakefile.
rule,修改的模板如下:1#2#Beginningofuserconfiguration3#45#Thislibrary'sversion6REVISION=-r1.
1378#WhichdoyouprefertouseforCcompilerDefaultisgcc.
9#IrecommendyoutouseGCCbecauseinlineassemblerisrequired.
10C_COMPILER=GNU11#C_COMPILER=INTEL1213#WhichdoyouprefertouseforFortrancompilerDefaultisGNUg77.
14F_COMPILER=G7715#F_COMPILER=G9516#F_COMPILER=GFORTRAN17#F_COMPILER=INTEL18#F_COMPILER=PGI19#F_COMPILER=PATHSCALE20#F_COMPILER=IBM21#F_COMPILER=COMPAQ22#F_COMPILER=SUN23#F_COMPILER=F2C2425#Ifyouneed64bitbinary;somearchitecturecanacceptboth32bitand26#64bitbinary(EM64T,Opteron,SPARCandPower/PowerPC).
27BINARY64=12829#Ifyouwanttobuildthreadedversion.
30#Youcanspecifynumberofthreadsbyenvironmentvalue31#"OMP_NUM_THREADS",otherwise,it'sautomaticallydetected.
32SMP=13334#YoumayspecifyMaximumnumberofthreads.
Itshouldbeminimum.
35#ForOpenMPusers;youhavetospecifyMAX_THREADSevenifyoudon't36#usethreadedBLAS(MAX_THREADS>=OMP_NUM_THREADS*GOTO_NUM_THREADS)37MAX_THREADS=855#Ifyouwanttousememoryaffinity(NUMA)56#Youcan'tuseitwithALLOC_STATIC57#NUMA_AFFINITY=1#make(编译静态库libgoto_opteronp-r1.
13.
a)#cdexports#makeso(编译动态库libgoto_opteronp-r1.
13.
so)4、HPL的安装下载hpl.
tar拷贝到/dawn/test目录#cd/dawn/test#tarzxvfhpl.
tgz(生成hpl目录)#cphpl/setup/Make.
Linux_ATHLON_FBLAS.
.
/Make.
test.
(因为使用fortran编译器所以选择FBLAS,Make.
arch为相近的系统即可,改名为了方便)#viMake.
test修改相应的变量,模板如下:6061#-Platformidentifier6263#64ARCH=test把ARCH的值改为test,其原来的值是Linux_ATHLON_FBLAS6667#-HPLDirectoryStructure/HPLlibrary6869#70TOPdir=/dawn/test/hpl把第70行的TOPdir变量的值改为你的当前目录的绝对路径,可以用pwd来确定.
接下来找到7778#-MessagePassinglibrary(MPI)7980#MPinctellstheCcompilerwheretofindtheMessagePassinglibrary81#headerfiles,MPlibisdefinedtobethenameofthelibrarytobe82#used.
ThevariableMPdirisonlyusedfordefiningMPincandMPlib.
83#84MPdir=/dawn/test/mpich-gnu85MPinc=-I$(MPdir)/include86MPlib=$(MPdir)/lib/libmpich.
a把84行的MPdir的路径改为刚才安装的mpich所在的目录绝对路径.
其中第86行的libmpich.
a是mpich-1.
2.
7p1的mpi消息传递库找到8889#-LinearAlgebralibrary(BLASorVSIPL)9091#LAinctellstheCcompilerwheretofindtheLinearAlgebralibrary92#headerfiles,LAlibisdefinedtobethenameofthelibrarytobe93#used.
ThevariableLAdirisonlyusedfordefiningLAincandLAlib.
94#95LAdir=/dawn/test/GotoBLAS96LAinc=97LAlib=/dawn/test/GotoBLAS/libgoto_opteronp-r1.
13.
a把第97行的LAlib的值改为goto库所在的绝对路径.
找到165166#-Compilers/linkers-Optimizationflags167168#169CC=/dawn/test/mpich-gnu/bin/mpicc170CCNOOPT=$(HPL_DEFS)171CCFLAGS=$(HPL_DEFS)-fomit-frame-pointer-03-funroll-loops-W-Wall172#173#Onsomeplatforms,itisnecessarytousetheFortranlinkertofind174#theFortraninternalsusedintheBLASlibrary.
175#176LINKER=/dawn/test/mpich-gnu/bin/mpif77#makearch=test在/dawn/test/hpl/bin目录下生成一个test目录,这个目录下面应该有一个HPL.
dat文件和xhpl文件.
如果没有这两个文件则说明make没有运行成功,常常是由于Make.
test文件有错误造成,要修改Make.
test文件,使用一个新的后缀名(如test1),将ARCH变量也改为与新后缀名相同ARCH=test1,再次运行make命令时,arch=test1也要随之改变.
修改test目录下的hpl.
dat文件:#vi/root/test/hpl/bin/test1/HPL.
dat一般每次测试都要修改第3-12行,修改原则如下:第3行:如果希望结果输出到文件,那么在这一行指定文件名称,这个文件会放在/test下.
第4行:如果希望结果输出到文件,此处设8.
第5行:计算的组数,第6行:每组的规模.
规模的最大取值根据公式N*N*8=内存容量*80%计算得出.
例:对于内存是4G的平台,N*N*8=4000000*80%,得出N=20000,测试者希望本测试连续运行三次,则第五行设3,本行取小于等于20000的任意三个数字.
第7、8行:这两个数字与库类型有关,如第7行设3,第八行就要将下表中的某个数字连写三遍,这个数字有一些经验值.
见下表:96GOTOIntelnocona232GOTOL2:1MBAMDOpteron384192MKLGOTO400ATLASL2:512KBIntelP4XeonNB学库L2Cache数平台第10、11、12行:这三行是根据CPU数来设定的.
P与Q相乘等于总CPU数,第10行为CPU总数所分的格数,也算就是集中方式得到CPU总数,例如2cpu,分2格,P=1时,Q=2;P=2时,Q=1.
一般来说,当Q取2,P取1时所测的结果不太好,所以往往只设P=1,Q=2.
.
这样则第10行设1,第11行设1,第12行设2.
上面未提到的各行按下例设置:HPLinpackbenchmarkinputfileInnovativeComputingLaboratory,UniversityofTennesseeHPL.
outoutputfilename(ifany)8deviceout(6=stdout,7=stderr,file)3#ofproblemssizes(N)200002100019000Ns3#ofNBs192232256NBs1PMAPprocessmapping(0=Row-,1=Column-major)1#ofprocessgrids(PxQ)1Ps1Qs16.
0threshold1#ofpanelfact1PFACTs(0=left,1=Crout,2=Right)1#ofrecursivestoppingcriterium4NBMINs(>=1)1#ofpanelsinrecursion2NDIVs1#ofrecursivepanelfact.
1RFACTs(0=left,1=Crout,2=Right)1#ofbroadcast3BCASTs(0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM)1#oflookaheaddepth2DEPTHs(>=0)2SWAP(0=bin-exch,1=long,2=mix)64swappingthreshold0L1in(0=transposed,1=no-transposed)form0Uin(0=transposed,1=no-transposed)form1Equilibration(0=no,1=yes)8memoryalignmentindouble(>0)5、运行的方式在/dawn/test/hpl/bin/test下执行第一种方式:#mpirun–npNxhpl(N为进程数,取$(MPICH安装目录)/share/machines.
LINUX配置文件)第二种方式:#mpirun–p4pgxhpl需要自己编写配置文件《p4file》指定每个进程在哪个节点运行下面是一个的样例.
#vip4filegnode10/dawn/test/hpl/test/bin/xhplgnode11/dawn/test/hpl/test/bin/xhplgnode21/dawn/test/hpl/test/bin/xhplgnode21/dawn/test/hpl/test/bin/xhpl6、查看结果HPL允许一次顺序做多个不同配置测试,所以结果输出文件(缺省文件名为HPL.
out)可能同时有多项测试结果.
下面是曙光4000ALinpack测试的最终结果=T/VNNBPQTimeGflops-WC23C2C4728480232328031972.
218.
061e+03-Ax-b||_oo/(eps*||A||_1*N0.
0028792.
.
.
.
.
.
PASSED||Ax-b||_oo/(eps*||A||_1*||x||_10.
0015927.
.
.
.
.
.
PASSED||Ax-b||_oo/(eps*||A||_oo*||x||_oo0.
0002556.
.
.
.
.
.
PASSED=使用基准测试一般需要和收集的信息包括:R:它是系统的最大的理论峰值性能,按GFLOPS表示.
理论浮点峰值=CPU主频*CPU每个时钟周期执行浮点运算的次数*系统中CPU核数表1:CPU每个时钟周期执行浮点运算的次数4Xeon(四核)4Barcelona2Xeon(双核)2Opteron4Itanium2Flops/CycleCPUFlops/CycleCPUFlops/CycleCPU例如:A610r-F有两片AMDOpteronProcessor2218HE其理论浮点峰值=2.
6G*2*4=20.
8GFlops/Cycle其实测峰值=18.
37GFlops/Cycle所以其Linpack的利用率=18.
37/20.
8=89.
3%二、集群Linpack验收标准表二:单节点Linpack测试的具体合格标准参照表75%75%75%75%75%75%≥1G70%70%70%70%70%0.
5G65%65%65%65%0.
25G55%55%55%≤0.
125G32cores16cores8cores4cores2cores1cores单个节点的核数内存/core表三:集群Linpack测试的具体标准参照表45%±5%50%±5%55%±5%60%±5%65%±5%≥1G40%±5%45%±5%50%±5%55%±5%60%±5%0.
5G35%±5%40%±5%45%±5%50%±5%55%±5%0.
25G30%±5%35%±5%40%±5%45%±5%50%±5%≤0.
125G256-512cores132-256cores68-128cores36-64cores≤32cores集群的总核数每个core分配的内存备注:此表是适用于双核集群的测试标准,根据实际的测试经验,四核集群的标准值要低十个百分点左右.
另外,为了减少工作量,建议每个集群规模不要多于16个节点.
昨天有分享到"2021年Vultr新用户福利注册账户赠送50美元"文章,居然还有网友曾经没有注册过他家的账户,薅过他们家的羊毛。通过一阵折腾居然能注册到账户,但是对于如何开通云服务器稍微有点不对劲,对于新人来说确实有点疑惑。因为Vultr采用的是预付费充值方式,会在每月的一号扣费,当然我们账户需要存留余额或者我们采用自动扣费支付模式。把笔记中以前的文章推送给网友查看,他居然告诉我界面不同,看的不对...
农历春节将至,腾讯云开启了热门爆款云产品首单特惠秒杀活动,上海/北京/广州1核2G云服务器首年仅38元起,上架了新的首单优惠活动,每天三场秒杀,长期有效,其中轻量应用服务器2G内存5M带宽仅需年费38元起,其他产品比如CDN流量包、短信包、MySQL、直播流量包、标准存储等等产品也参与活动,腾讯云官网已注册且完成实名认证的国内站用户均可参与。活动页面:https://cloud.tencent.c...
sharktech怎么样?sharktech (鲨鱼机房)是一家成立于 2003 年的知名美国老牌主机商,又称鲨鱼机房或者SK 机房,一直主打高防系列产品,提供独立服务器租用业务和 VPS 主机,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹,所有产品均提供 DDoS 防护。不知道大家是否注意到sharktech的所有服务器的带宽价格全部跳楼跳水,降幅简直不忍直视了,还没有见过这么便宜的独立服...