当前位置: 首页 > 工具软件 > HPCC Systems > 使用案例 >

Liunx下HPCC(HPC Challenge)的安装运行

洪逸清
2023-12-01

安装运行步骤

  • 下载安装mpich

    或者其他MPI实现应该也行,参考网上相关教程,已安装则可以忽略这一步。

  • 下载安装blas

    wget http://www.netlib.org/blas/blas.tgz
    tar zxvf blas.tgz
    cd BLAS-3.8.0/
    # sudo apt-get install gfortran 如果没有fortran编译器需要先安装一下gfortran
    gfortran -c  -O3 *.f  # 编译所有的 .f 文件,生成 .o文件
    ar rv libblas.a *.o  # 链接所有的 .o文件,生成 .a 文件
    cp libblas.a /home/huangxinxin/hpcc/lib/ # 将.a文件拷到相关目录下
    
  • 下载安装cblas

    wget http://www.netlib.org/blas/blast-forum/cblas.tgz
    tar zxvf cblas.tgz
    cd CBLAS/
    cp Makefile.LINUX Makefile.in # Linux环境下使用Makefile.LINUX
    cp /home/huangxinxin/hpcc/lib/libblas.a testing/ # 将上个步骤编出来的libblas.a拷到testing目录下
    make
    cp lib/cblas_LINUX.a /home/huangxinxin/hpcc/lib/libcblas.a # 将编出来的库文件拷到相关目录下
    
  • hpcc源码下载

    wget http://icl.cs.utk.edu/projectsfiles/hpcc/download/hpcc-1.5.0.tar.gz
    tar zxvf hpcc-1.5.0.tar.gz
    cd hpcc-1.5.0
    
  • Make文件编写

    cp hpl/setup/Make.Linux_PII_CBLAS hpl/Make.Linux
    

    Make.Linux需要根据自己的环境信息进行修改,主要有以下几个配置项:

    • MPdir、MPinc、MPlib这几个和MPI相关的配置项可以注释掉
    • HPL_LIBS后面加上blas、cblas库的连接信息:-L/home/huangxinxin/hpcc/lib/ -lcblas -lblas
    • CC配置项将gcc替换成mpicc:CC = /usr/local/bin/mpicc
    • LINKER配置项将g77替换成mpif77,如:LINKER = /usr/local/bin/mpif77

    以下为Make文件的一个Demo:

    SHELL        = /bin/sh
    CD           = cd
    CP           = cp
    LN_S         = ln -s
    MKDIR        = mkdir
    RM           = /bin/rm -f
    TOUCH        = touch
    ARCH         = $(arch)
    TOPdir       = ../../..
    INCdir       = $(TOPdir)/include
    BINdir       = $(TOPdir)/bin/$(ARCH)
    LIBdir       = $(TOPdir)/lib/$(ARCH)
    HPLlib       = $(LIBdir)/libhpl.a
    F2CDEFS      =
    HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) $(LAinc) $(MPinc)
    HPL_LIBS     = $(HPLlib) $(LAlib) $(MPlib) -lm -lcblas -lblas
    HPL_OPTS     = -DHPL_CALL_CBLAS
    HPL_DEFS     = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)
    CC           = /usr/local/bin/mpicc
    CCNOOPT      = $(HPL_DEFS)
    CCFLAGS      = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops
    LINKER       = /usr/local/bin/mpif77
    LINKFLAGS    = $(CCFLAGS)
    ARCHIVER     = ar
    ARFLAGS      = r
    RANLIB       = echo
    
  • 编译hpcc

    make arch=Linux  # arch的值为hpl目录下Make.Linux的后缀,make操作需要在顶层目录执行,即hpcc-1.5.0,执行完在该目录会生成一个名为hpcc的可执行文件
    
  • 运行hpcc

    cp _hpccinf.txt hpccinf.txt # hpccinf.txt中包含了许多运行时的配置项,可以自己研究一下
    mpirun -np 2 ./hpcc # 运行结束后会在当前目录生成一个hpccoutf.txt的结果文件
    
 类似资料: