Linpack的安装、测试与优化
- 格式:pdf
- 大小:272.03 KB
- 文档页数:7
1
Linpack的安装调试、优化
目录
一.Linpack的安装与调试 ...................................................................................................... 2
1.编译器的安装 .................................................................................................................... 2
2.并行环境MPI的安装 ........................................................................................................ 2
3.数学库的安装 .................................................................................................................... 3
4.HPL的安装 ......................................................................................................................... 3
二.Linpack的优化与运行 ...................................................................................................... 5
1.HPL.dat中参数的优化 ...................................................................................................... 5
2.xhpl运行的方式 ................................................................................................................ 5
3.查看分析结果 .................................................................................................................... 6
2
一.Linpack的安装与调试
Linpack是国际上最流行的用于测试高性能计算机系统浮点性能的benchmark。通过对高性能计算机采用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算机的浮点性能,Linpack测试包括三类,Linpack100、Linpack1000和HPL HPL是针对现代并行计算机提出的测试方式。用户在不修改任意测试程序的基础上,可以调节问题规模大小(矩阵大小)、使用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/ ichard/openmpi #make all install 安装过程比较长,请耐心等待…… 安装完成后, #export PATH=/home/ ichard/openmpi/bin:$PATH #export LD_LIBRARY_PATH=/home/ ichard/openmpi/lib:$LD_LIBRARY_PATH #source 在命令行输入mpi加两次Tab键,如果下面能正常显示mpirun,mpicc…就说明变量添加成功,但在每次重启都会消失,需重新添加,可在~/.bashrc中永久添加
3 3.数学库的安装
采用BLAS库的性能对最终测得的Linpack性能有密切的关系,常用的BLAS库有GOTO、Atlas、ACML、MKL等,测试经验是GOTO库性能最优。 如果CPU是Intel的产品,建议使用MKL。 这里使用GOTO库。 安装步骤: 下载最新的源代码包GotoBLAS2‐1.13.tar.gz到/home/richard目录下 #tar zxvf GotoBLAS2‐1.13.tar.gz,解压到GotoBLAS2目录里面 #mv GotoBLAS2‐1.13 GotoBLAS2 #cd GotoBLAS2 #vim getarch.c 将/*#define FORCE_NEHALEM*/注释去掉为#define FORCE_NEHALEM 保存退出 #make 生成以下两个文件 libgoto2_nehalemp‐r1.13.a并生成快捷方式文件libgoto2.a libgoto2_nehalemp‐r1.13.so并生成快捷方式文件libgoto2.so 添加变量 #export PATH=/home/ ichard/GotoBLAS2:$PATH #export LD_LIBRARY_PATH=/home/Richard/GotoBLAS2:$ LD_LIBRARY_PATH #source 每次重启都会消失,需重新添加,可在~/.bashrc中永久添加!
4.HPL的安装
下载hpl‐2.0.tar.gz拷贝到/home/richard目录 # cd /home/ ichard # tar zxvf hpl‐2.0.tar.gz (生成hpl‐2.0目录) #mv hpl‐2.0 hpl (改名为hpl目录) # cp hpl/ setup/Make.Linux_PII_CBLAS ../Make.richard #vi Make.richard修改相应的变量,模板如下: 60 # ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 61 # ‐ Platform identifier ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 62 # ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 63 # 64 ARCH = ichard 把ARCH的值改为richard,其原来的值是Linux_ATHLON_FBLAS 66 # ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 67 # ‐ HPL Directory Structure / HPL library ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 68 # ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 69 #
4 70 TOPdir = /home/ ichard/hpl 把第70行的TOPdir变量的值改为你的当前目录的绝对路径,可以用pwd来确定。接下来找到 77 # ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 78 # ‐ Message Passing library (MPI) ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 79 # ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 80 # Mpinc tells the C compiler where to find the Message Passing library 81 # header files, Mplib is defined to be the name of the library to be 82 # used. The variable Mpdir is only used for defining Mpinc and Mplib. 84 Mpdir = 85 Mpinc = 86 Mplib = 把Mpdir\ Mpinc\Mplib的值全部置空 找到 88 # ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 89 # ‐ Linear Algebra library (BLAS or VSIPL) ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 90 # ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 91 # Lainc tells the C compiler where to find the Linear Algebra library 92 # header files, Lalib is defined to be the name of the library to be 93 # used. The variable Ladir is only used for defining Lainc and Lalib. 95 Ladir = /home/ ichard/GotoBLAS2 96 Lainc = 97 Lalib = ‐L$(Ladir) –lgoto2 把95行改为GotoBLAS2 所在目录,第97行的Lalib的值改为goto库所在路径。 找到 165 # ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 166 # ‐ Compilers / linkers – Optimization flags ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 167 # ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 168 # 169 CC = mpicc 170 CCNOOPT = $(HPL_DEFS) 171 CCFLAGS = $(HPL_DEFS) –fomit‐frame‐pointer ‐03‐funroll‐loops –W –Wall 172 # 173 # On some platforms, it is necessary to use the Fortran linker to find 174 # the Fortran internals used in the BLAS library. 175 # 176 LINKER = mpif77 到此修改文件完毕,保存退出! #make arch= ichard 在/home/ ichard/hpl/bin目录下生成一个richard目录,这个目录下面应该有一个HPL.dat文件和xhpl文件。 如果没有这两个文件则说明make没有运行成功,常常是由于Make.richard文件有错误造成,要修改Make.richard文件,