我想编写一个使用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
因为我是新手,所以我收到了很多错误消息,所以我想确保这些任务首先运行良好。
答案 0 :(得分:0)
您发布的代码似乎与SLURM作业更相关,根本没有MPI代码。
话虽这么说,你发布的剧本似乎
cat&lt; 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
因此,在执行所有这些步骤之后,您应该将结果* .dat文件复制到分配给SLURM作业的每个计算节点上的$ SLURM_SUBMIT_DIR目录中。