脚本中MPI处理的结果

The results of MPI processes in the script

我想为使用gromacs 程序编写一个MPI 脚本,并且我希望更改每个任务的输入数据(每个任务的输出将是前一个任务的结果)。我把一段脚本复制 result*.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

因为我是新手,所以我收到了很多错误消息,所以我想先确保任务正常运行。

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

也就是说,您发布的脚本似乎

cat < copyfile.sh

#!/bin/sh

cp -p result*.dat $SLURM_SUBMIT_DIR

EOF

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

chmod u+x copyfile.sh

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

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

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

.....

  1. 任何其他未指定的命令。

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

  1. 在 SLURM_NNODES 环境变量指向的节点数上生成 copyfile.sh
  2. 的执行

所以执行完所有这些步骤后,你应该得到的是将result*.dat文件复制到分配给SLURM作业的每个计算节点上的$SLURM_SUBMIT_DIR目录中。