运行和验证

操作步骤

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命令进入测试目录。

    cd /path/to/WANNIER90/wannier90-3.1.0/examples/example03

  3. 执行以下命令进行测试。

    • 单节点
      time -p mpirun -np 8 --allow-run-as-root -mca pml ucx -mca btl ^vader,tcp,openib,uct -x UCX_TLS=self,sm --bind-to core --map-by socket --rank-by core -x UCX_BUILTIN_ALLREDUCE_ALGORITHM=8 ../../wannier90.x silicon
    • 多节点
      time -p mpirun -np 16 -N 8 -x PATH=$PATH -x LD_LIBRARY_PATH=$LD_LIBRARY_PATH --allow-run-as-root --hostfile hostfile -mca pml ucx -mca btl ^vader,tcp,openib,uct -x UCX_TLS=self,sm --bind-to core --map-by socket --rank-by core -x UCX_BUILTIN_ALLREDUCE_ALGORITHM=8 ../../wannier90.x silicon
      • -np参数为使用的总进程数,-N为每个节点运行的进程数,这里以两节点为例,需要根据机器配置进行调整。
      • 多节点运行中的--hostfile参数为节点名的列表,在example03目录下创建一个hostfile文件,写入多个节点的hostname。
      • -x UCX_TLS=self,sm参数与环境上网络有关,非固定。
      • 多个节点请保证所需软件的路径、环境变量均相同。所需软件包括上述所有需要安装的软件。
      • 多个节点请保证算例路径相同。
      • 保证多个节点之间能实现免密登录且已经关闭防火墙。

      执行成功后将生成一个“silicon.wout”的文件,输出结果样例如下图所示。

  4. 执行以下命令修改“silicon.win”文件。

    1. 打开“silicon.win”文件。
      vi silicon.win
    2. 按“i”进入编辑模式,在第2行后新增如下内容。
      restart           = plot
      bands_plot        = true

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

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

  5. 重新执行3的测试命令。执行成功后在当前目录会生成“silicon_band.gnu”和“silicon_band.dat”文件。此步显示图形的操作只是程序运行的补充,不影响程序的运行或性能。

    time -p mpirun -np 8 --allow-run-as-root -mca pml ucx -mca btl ^vader,tcp,openib,uct -x UCX_TLS=self,sm --bind-to core --map-by socket --rank-by core -x UCX_BUILTIN_ALLREDUCE_ALGORITHM=8 ../../wannier90.x silicon

    • -np参数为使用的总进程数,需要根据机器配置进行调整。
    • -x UCX_TLS=self,sm参数与环境上网络有关,非固定。

  6. 执行以下命令使用Gnuplot交互式绘图工具绘图。

    gnuplot

    进入如下运行界面:

    load '/path/to/WANNIER90/wannier90-3.1.0/examples/example03/silicon_band.gnu'

    生成如下图形界面: