运行和验证

操作步骤

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命令创建并且进入工作路径。

    mkdir -p /path/to/CASE
    cd /path/to/CASE

  3. 下载测试算例,使用SFTP工具将测试算例上传至服务器“/path/to/CASE”目录。

    下载地址:https://github.com/QEF/benchmarks/tree/master

  4. 执行以下命令解压测试算例包,并将需要的文件拷贝到“/path/to/CASE”目录。

    unzip benchmarks-master.zip
    cp -r benchmarks-master/other-inputs/water/* ./

  5. 执行以下命令创建“hostfile”文件。

    1. 打开“hostfile”文件。
      vi hostfile
    2. 按“i”进入编辑模式,新增如下内容。
      node1
      node2
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  6. 重新打开一个登录窗口,使用PuTTY工具,以root用户登录node2服务器。
  7. 在node2服务器节点窗口,执行以下命令配置环境变量。

    1. 打开“.bashrc”文件。
      vi /root/.bashrc
    2. 按“i”进入编辑模式,在“.bashrc”文件末尾新增如下内容。
      export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH
      export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH
      export PATH=/path/to/QE/bin:$PATH
      export LD_LIBRARY_PATH=/path/to/OPENBLAS/lib:$LD_LIBRARY_PATH
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  8. 在node1服务器节点窗口,执行以下命令运行QE程序。

    mpirun --allow-run-as-root -np 192 -N 96 -x OMP_NUM_THREADS=1 -hostfile hostfile --mca btl ^openib pw.x -input ./pw.in 2>&1 | tee -a qe.log
    表1 参数说明

    参数

    说明

    -np

    测试使用的总进程数。

    -N

    每个服务器上运行的进程数。

    -x OMP_NUM_THREADS=1

    指定每个进程的线程数为1。

    --hostfile

    使用的节点名字。

    当QE生成的日志“qe.log”的结尾处出现如图1所示内容时,表示QE程序运行正常结束。

    需要查看“qe.log”日志中的“WALL”数值,单位是“s”,数值越高性能越低,输出的结果如图1所示。

    图1 测试样例