Linpack 之 HPL 测试#

配置编译器#

sudo apt install gfortran gcc

配置 BLAS/CBLAS/ATLAS 库#

  • 创建目录并切换:mkdir ~/prepare && cd ~/prepare

  • 下载:wget http://www.netlib.org/blas/blas-3.8.0.tgz

  • 解压包:tar -xzf blas-3.8.0.tgz

  • 切换目录:cd BLAS-3.8.0

  • 编译生成 blas_LINUX.amake

  • 链接 .o 文件生成 libblas.aar rv libblas.a *.o

  • 切换到 prepare 目录:cd ~/prepare

  • 下载:wget http://www.netlib.org/blas/blast-forum/cblas.tgz

  • 解压包:tar -xzf cblas.tgz

  • 切换目录:cd CBLAS

  • 将第 5 步产生的 .a 文件拷贝到当前目录:cp ~/prepare/BLAS-3.8.0/blas_LINUX.a ./

  • 修改 Makefile.in 文件中的 BLLIBvim Makefile.in

    BLLIB = ~/prepare/BLAS-3.8.0/blas_LINUX.a
    
  • 编译:make

  • 测试运行:./testing/xzcblat1

配置 MPICH 并行环境#

  • 切换目录:cd ~/prepare

  • 下载:wget http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz

  • 解压安装包:tar xzf mpich-3.2.1.tar.gz

  • 切换到主目录:cd mpich-3.2.1

  • 设置安装路径:./configure [--disable-cxx]

  • 编译:make

  • 安装:sudo make install

  • 查看前面工作是否成功:which mpicc && which mpiexec

  • 创建目录:mkdir mytest

  • 测试运行:mpiexec -f mytest -n 3 hostname && mpiexec -n 5 -f mytest ./examples/cpi

配置 HPL 环境#

  • 切换目录:cd ~/prepare

  • 复制文件:sudo cp CBLAS/lib/* /usr/local/lib

  • 复制文件:sudo cp BLAS-3.8.0/blas_LINUX.a /usr/local/lib

  • 下载:wget http://www.netlib.org/benchmark/hpl/hpl-2.3.tar.gz

  • 解压包:tar -xzf hpl-2.3.tar.gz

  • 切换目录:cd hpl-2.3

  • 复制文件:cp setup/Make.Linux_PII_CBLAS ./

  • 复制文件:sudo cp include/* /usr/local/include

  • 打开 Make.top 文件:vim Make.top,做如下修改:

    arch = Linux_PII_CBLAS
    
  • 打开 Makefile 文件:vim Makefile,做如下修改:

    arch = Linux_PII_CBLAS
    
  • 打开 Make.Linux_PII_CBLAS 文件:vim Make.Linux_PII_CBLAS,做如下修改:

    ARCH         = Linux_PII_CBLAS
    
    TOPdir       = ~/prepare/hpl-2.3
    
    MPdir        = /usr/local
    MPlib        = $(MPdir)/lib/libmpich.so
    
    LAdir        = /usr/local/lib
    LAlib        = $(LAdir)/cblas_LINUX.a $(LAdir)/blas_LINUX.a
    
    CC           = /usr/local/bin/mpicc
    
    LINKER       = /usr/local/bin/mpif77
    
  • 编译:make arch=Linux_PII_CBLAS

  • 运行测试:cd bin/Linux_PII_CBLAS && mpirun -np 4 ./xhpl > HPL-Benchmark.txt

配置 HPCG 环境#

  • 切换目录:cd ~/prepare

  • 下载 HPCG 源代码:git clone https://github.com/hpcg-benchmark/hpcg.git

  • cdsetupcd hpcg/setup

  • 修改 Make.Linux_MPIvim Make.Linux_MPI

    MPdir        = /usr/local
    
    CXX          = /usr/local/bin/mpicxx
    
  • 创建 build 文件夹:mkdir build && cd build

  • 设置安装环境:../../configure Linux_MPI

  • 开始安装:make

  • 运行测试:cd bin && mpirun -np 8 ./xhpcg


下载结果文件 HPL-Benchmark.txt