脚本

时间:2016-03-09 21:17:11

标签: ssh mpi

我想编写一个使用gromacs程序的MPI脚本,我希望每个任务都改变输入数据(每个任务的输出都是前一个任务的结果)。我把一段脚本复制结果* .dat复制到copyfile.sh

    cat <<EOF > copyfile.sh
#!/bin/sh
cp -p result*.dat $SLURM_SUBMIT_DIR
EOF

chmod u+x copyfile.sh
srun -n $SLURM_NNODES -N $SLURM_NNODES cp copyfile.sh $SNIC_TMP

.....
srun -n $SLURM_NNODES -N $SLURM_NNODES copyfile.sh

因为我是新手,所以我收到了很多错误消息,所以我想确保这些任务首先运行良好。

1 个答案:

答案 0 :(得分:0)

您发布的代码似乎与SLURM作业更相关,根本没有MPI代码。

话虽这么说,你发布的剧本似乎

  

cat&lt; copyfile.sh

     

#!/ bin / sh的

     

cp -p result * .dat $ SLURM_SUBMIT_DIR

     

EOF

  1. 创建一个copy_file.sh,将结果* .dat文件从本地磁盘复制到$ SLURM_SUBMIT_DIR目录。
  2.   

    chmod u + x copyfile.sh

    1. 授予copyfile.sh执行权限,以便您可以调用此bash脚本。
    2.   

      srun -n $ SLURM_NNODES -N $ SLURM_NNODES cp copyfile.sh $ SNIC_TMP

      1. 在SLURM_NNODES环境变量指向的节点数上生成一个cp命令,以便将copyfile.sh复制到目录$ SNIC_TMP
      2.   

        .....

        1. 无论指定的其他命令是什么。
        2.   

          srun -n $ SLURM_NNODES -N $ SLURM_NNODES copyfile.sh

          1. 在SLURM_NNODES环境变量指向的节点数上生成copyfile.sh的执行
          2. 因此,在执行所有这些步骤之后,您应该将结果* .dat文件复制到分配给SLURM作业的每个计算节点上的$ SLURM_SUBMIT_DIR目录中。