编译和安装

操作步骤

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命令获取并解压SIESTA到规划的路径。

    wget https://launchpadlibrarian.net/379220821/siesta-4.0.2.tar.gz
    tar -xvf siesta-4.0.2.tar.gz

  3. 执行以下命令进入解压后的目录。

    cd siesta-4.0.2

  4. 执行以下命令创建目录。

    mkdir kpgcc_hmpi_compiler

  5. 执行下列命令进入目录,并运行脚本。

    cd kpgcc_hmpi_compiler
    bash ../Src/obj_setup.sh

  6. 执行以下命令进行配置。

    ../Src/configure CC=mpicc CFLAGS='-O3 -march=armv8.2-a -mtune=tsv110' FC=mpifort FCFLAGS='-O3 -march=armv8.2-a -mtune=tsv110' --enable-mpi --build=arm-linux --prefix=/path/to/SIESTA/siesta-4.0.2/kpgcc_hmpi_compiler

  7. 执行下列命令,修改“arch.make”文件。

    1. 打开“arch.make”文件。
      vi arch.make
    2. 按“i”进入编辑模式,修改文件中第34、35、36、38、39和45行的内容。
      OPENBLAS_LIBS=/path/to/OPENBLAS/lib/libopenblas.a
      #BLAS_LIBS=-lblas
      #LAPACK_LIBS=-llapack
      SCALAPACK_LIBS=/path/to/SCALAPACK/libscalapack.a
      MATH_LIBS= -Wl,-rpath=/path/to/KPGCC/gcc-9.3.1-2020.12-aarch64-linux/lib64/libhpc -L/path/to/KPGCC/gcc-9.3.1-2020.12-aarch64-linux/lib64/libhpc -lmathlib -lm
      LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(OPENBLAS_LIBS) $(NETCDF_LIBS) $(MATH_LIBS)

      执行7.a之后,按“Esc”键,输入“:set nu”,按“Enter”即可显示出行号。

    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  8. 执行以下命令将Fox路径下的“config.guess”和“config.sub”脚本全部更新为网址里的内容。

    cd /path/to/SIESTA/siesta-4.0.2/Src/FoX/config

    在Fox路径下,复制下面网址的内容替换“config.guess”和“config.sub”脚本的内容。

    http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess

    http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub

  9. 执行以下命令进行编译安装。

    make

  10. 执行以下命令设置环境变量。

    export PATH=/path/to/SIESTA/siesta-4.0.2/kpgcc_hmpi_compiler/:$PATH