Linpack安装、配置与运行

转载https://www.kclouder.cn/linpack-guide-1/
Linpack是线性系统软件包(Linear system package) 的缩写,现在在国际上已经成为最流行的用于测试
高性能计算机系统浮点性能的benchmark。通过利用高性能计算机,用高斯消元法求解N元一次稠密线性代数
方程组的测试,评价高性能计算机的浮点性能。

衡量计算机性能的一个重要指标就是计算峰值,例如浮点计算峰值,它是指计算机每秒钟能完成的浮点计算最
大次数。包括理论浮点峰值和实测浮点峰值:理论浮点峰值是该计算机理论上能达到的每秒钟能完成浮点计算
最大次数,它主要是由CPU的主频决定的,理论浮点峰值=CPU主频×CPU每个时钟周期执行浮点运算的次数×系
统中CPU核心数目实测浮点峰值是指Linpack测试值,也就是说在这台机器上运行Linpack测试程序,通过各
种调优方法得到的最优的测试结果。实际上在实际程序运行过程中,几乎不可能达到实测浮点峰值,更不用说
达到理论浮点峰值了。这两个值只是作为衡量机器性能的一个指标,用来表明机器处理能力的一个标尺和潜能
的度量。文档作者: Carl

下载必要的软件包: MPI,GotoBLAS库,HPL源码
http://www.netlib.org/mpi/index.html
https://www.tacc.utexas.edu/research-development/tacc-software/gotoblas2
http://www.netlib.org/benchmark/hpl/

1、 mpich安装
1.1 解压mpich包
tar zxvf mpich-3.2.tar.gz 
1.2 创建安装目录
mkdir –p /install/mpich
1.3 配置mpich的安装参数
进入解压后的mpich目录,执行./configure –prefix=/install/mpich

1.4 在mpich目录下,执行make,编译mpich

1.5 在mpich目录下,执行make install

1.6 将mpich的运行环境加入到系统环境变量中
 LD_LIBRARY_PATH=/install/mpich/lib:$LD_LIBRARY_PATH
 export LD_LIBRARY_PATH

2、GotoBLAS安装
2.1 解压GotoBLAS包之后,在解压后的目录下执行./ quickbuild.64bit进行快速安装,如果安装正常,
在本目录下就会生成libgoto2.a和libgoto2.so两个文件若出现如下:
 ../kernel/x86_64/gemm_ncopy_4.S:192: Error: undefined symbol RPREFETCHSIZE' in operation
 ../kernel/x86_64/gemm_ncopy_4.S:193: Error: undefined symbolRPREFETCHSIZE' in operation 
../kernel/x86_64/gemm_ncopy_4.S:194: Error: undefined symbol RPREFETCHSIZE' in operation 
../kernel/x86_64/gemm_ncopy_4.S:195: Error: undefined symbolRPREFETCHSIZE' in operation 
则执行: gmake clean make BINARY=64 TARGET=NEHALEM

2.2 编译正常的话,会在目录下生成libgoto2.a 和libgoto2.so文件

3、HPL程序的编译
3.1 解压HPL程序包之后,将看到如下目录结构,从setup目录中选择一个和自己实际的测试平台最相似的配
置文件,将其复制到hpl根目录下,可以重新命名以示区别。 

3.2 Make配置文件中有大量的注释信息,可以借助grep之类的工具将真正有用的参数筛选出来
 [root@hplnode01 hpl]# cat Make.carl |grep -v "#"
 SHELL        = /bin/sh
 CD           = cd
 CP           = cp
 LN_S         = ln -s
 MKDIR        = mkdir
 RM           = /bin/rm -f
 TOUCH        = touch
 ARCH         = Linux_PII_FBLAS               <--系统架构名称
 TOPdir       = $(HOME)/hpl                   <--hpl程序包解压后所在的路径
 INCdir       = $(TOPdir)/include
 BINdir       = $(TOPdir)/bin/$(ARCH)
 LIBdir       = $(TOPdir)/lib/$(ARCH)
 HPLlib       = $(LIBdir)/libhpl.a
 MPdir        = /usr/local/mpi                  <--mpi环境所在的路径
 MPinc        = -I$(MPdir)/include
 MPlib        = $(MPdir)/lib/libmpich.a
 LAdir        = $(HOME)/netlib/ARCHIVES/Linux_PII           <--GotoBlas库所在的路径
 LAinc        =
 LAlib        = $(LAdir)/libf77blas.a $(LAdir)/libatlas.a   <--Gotoblas库文件所在的路径
 F2CDEFS      = -DAdd__ -DF77_INTEGER=int -DStringSunStyle
 HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) $(LAinc) $(MPinc)
 HPL_LIBS     = $(HPLlib) $(LAlib) $(MPlib)
 HPL_OPTS     =
 HPL_DEFS     = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)
 CC           = /usr/bin/gcc
 CCNOOPT      = $(HPL_DEFS)
 CCFLAGS      = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops -W -Wall
 LINKER       = /usr/bin/g77
 LINKFLAGS    = $(CCFLAGS)
 ARCHIVER     = ar
 ARFLAGS      = r
 RANLIB       = echo
 [root@hplnode01 hpl]#

3.3 以下是我在实验环境中使用的参数

3.4 设置好hpl程序的编译参数之后,通过命令make arch=xxx来指定编译配置文件,开始进行编译,编译
完成后,将在hpl目录的bin/xxx/下生成HPL.dat和xhpl两个文件,其中HPL.dat是hpl测试时参数的配置
文件,xhpl是hpl测试时被执行的mpi程序。

4、HPL测试的执行
4.1 节点执行hpl测试前需要先开启mpd demo,首次启动mpd demo时,请根据提示创建mpd配置文件。
Mpdboot –n 启动的节点数量 –f 可用的节点列表, mpdtrace –l 可以查看demo运行状态 

4.2 以下是在单台服务器上以4个进程并行执行xhpl程序的例子

4.3 以下是在多台服务器上以指定的进程数并行执行xhpl程序的例子

4.4 mpirun -np 8 –machinefile 主机列表文件 ./xhpl

4.5 以下是一个比较方便直观的hpl测试效率计算器
 http://hpl-calculator.sourceforge.net
  • 7
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!对于 Linpack安装和优化,我可以为你提供一些指导。 要安装 Linpack,你可以按照以下步骤进行操作: 1. 首先,确保你的系统满足 Linpack运行要求。Linpack 是一个基于 Fortran 编写的库,因此你需要一个支持 Fortran 编译器的环境。 2. 下载 Linpack 的源代码。你可以在官方网站或其他可信的源上找到 Linpack 的源代码。 3. 解压下载的源代码文件。使用适当的工具,如 tar 或 zip,将文件解压到一个目录中。 4. 进入解压后的目录,并按照提供的说明进行编译和安装。通常,你需要运行一些命令来配置编译选项,并使用编译器来构建 Linpack 库。 5. 安装完成后,你可以在你的系统中使用 Linpack 库来进行性能测试或其他计算任务。 要优化 Linpack 的性能,可以考虑以下几点: 1. 选择适当的编译选项。不同的编译器和编译选项可以对性能产生显著影响。通过调整编译选项,如优化级别、向量化指令等,可以提高 Linpack 的性能。 2. 优化系统配置。确保你的系统具有充足的内存和处理器资源,以支持 Linpack运行。此外,可以通过调整系统参数、关闭不必要的服务等方式来优化系统性能。 3. 并行化计算。Linpack 是一个高性能计算库,通常可以通过并行化计算来提高性能。你可以使用多线程或分布式计算等技术来加速 Linpack运行。 4. 调整数据布局。Linpack 的性能在很大程度上取决于数据的访问模式。通过优化数据布局,如使用合适的存储格式、合并内存访问等,可以改善 Linpack 的性能。 这些是一些常见的安装和优化 Linpack 的方法。具体的步骤和技术可能因你的系统和需求而有所不同。如果你有特定的问题或需求,请提供更多详细信息,我将尽力提供更准确的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值