运行和验证

多节点运行时需进行网络环境配置:

  • 在“ /etc/hosts”中添加多台机器的IP与hostname。
  • 配置多台机器间的SSH免密登录。
  • 关闭防火墙,并使客户端与服务器之前保持不断开状态。

操作步骤

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命加载环境变量。

    export PATH=/path/to/CP2K/cp2k-7.1.0/exe/Linux-x86-64-gfortran:$PATH

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

    1. 创建“hostfile”文件。
      vi hostfile
    2. 按“i”进入编辑模式,新增如下内容。
      Node1
      Node2

      Node1和Node2为主机名,请依照实际情况修改,并保证节点相互可以Ping通。

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

  4. 在root用户下,执行以下命令。

    • 单节点
      mpirun --allow-run-as-root -np 96 -x OMP_NUM_THREADS=1 cp2k.psmp /path/to/CP2K/cp2k-7.1.0/benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log
    • 双节点
      mpirun --allow-run-as-root -np 192 -N 96 -x PATH=$PATH -x LD_LIBRARY_PATH=$LD_LIBRARY_PATH -hostfile hostfile -x OMP_NUM_THREADS=1 cp2k.psmp /path/to/CP2K/cp2k-7.1.0/benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log
      图1 结果样例(1)
      图2 结果样例(2)

      输出的图1图2的时间差是927s。

      表1 参数说明

      参数

      说明

      -np

      MPI运行的总进程数。

      -N

      每个节点上运行的进程数。

      -hostfile

      使用的节点名字。