运行和验证

  • 运行时指定的进程数需要根据机器配置而改变。
  • 多节点运行时需要进行网络环境配置:
    • 在“/etc/hosts”中添加多台机器的IP与hostname。
    • 配置多台机器间的SSH免密登录。
    • 关闭防火墙,并使客户端与服务器之前保持不断开状态。

运行和验证

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

    mkdir -p /path/to/WW3_TEST
    cd /path/to/WW3_TEST

  3. 下载测试算例,并且将其拷贝到“/path/to/WW3_TEST”目录。
  4. 执行以下命令解压。

    tar -xvf ww3_from_ftp.v6.07.tar.gz
    cd cases

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

    source /path/to/WAVEWATCH/WW3-6.07.1/env_ww3.sh
    export ww3_dir=/path/to/WAVEWATCH/WW3-6.07.1/model

  6. 执行以下命令修改“mww3_case_01”文件。

    1. 打开“mww3_case_01”文件。
      vi mww3_case_01
    2. 按“i”进入编辑模式,修改“mww3_case_01”文件。

      第61行:

      #cd /scratch1/portfolios/NCEPDEV/ocean/noscrub/Henrique.Alves/WW3_CASES/cases

      第65行:

      #module load intel mpt grads

      第72行:

      compstr="Gnu"

      第143行:

      #ww3_dir='echo $case_dir | sed 's/\/cases\/*//g''

      第138行:

      proc=8

      第420行:

      mpirun --allow-run-as-root --mca btl ^openib -np $proc --hostfile /path/to/WW3_TEST/cases/hostfile $path_e/ww3_multi

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

    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 若删除第420行的“--hostfile /path/to/WW3_TEST/cases/hostfile ”,则为单节点运行。

      第138行的proc参数设置根据机器CPU数配置。亦可删掉第420行的-np $proc默认使用最大核心数。

    5. 如若发现双节点算例与单节点结果相似(top监测第二节点,发现未有运行情况且单双节点运行算例结果相似),可进行如下修改调整。(备用方案)

      修改第138行为:

      #proc=8

      修改第420行为:

      mpirun --allow-run-as-root --mca btl ^openib -np 16 -N 8 -x PATH=$PATH -x LD_LIBRARY_PATH=$LD_LIBRARY_PATH $proc --hostfile    /path/to/WW3_TEST/cases/hostfile $path_e/ww3_multi

      -np参数为使用的总进程数,-N参数为每个节点使用的进程数。需要根据机器配置进行调整。

  7. 执行以下命令修改文件“comp.Gnu”和“link.Gnu”信息。

    1. 打开“comp.Gnu”文件。

      vi ../WW3-6.07.1/model/bin/comp.Gnu

    2. 按“i”进入编辑模式。

      将第93行的“comp=gfortran”修改为“comp=flang”。

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

    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 打开“link.Gnu”文件。

      vi ../WW3-6.07.1/model/bin/link.Gnu

    5. 按“i”进入编辑模式。

      将第95行的“comp=gfortran”修改为“comp=flang”。

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

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

    1. 创建“hostfile”文件。
      vi hostfile
      Node1
      Node2

      Node1和Node2为hostname(主机名)。

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

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

    ./mww3_case_01

    当ww3程序运行结束处出现如下图所示内容时,表示ww3程序运行正常结束。

    需要查看“work_case_01/log.mww3”日志中的“Elapsed time”数值,单位是“s”,数值越少性能越优。

    • 双节点运行结果样例

    • 单节点运行结果样例