【发布时间】:2016-03-09 21:17:10
【问题描述】:
我想编写一个使用 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
由于我是新手,收到了很多错误消息,所以我想先确保任务正常运行。
【问题讨论】:
-
您发布的代码似乎与名为 SLURM 的队列系统有关,而不是与 MPI 本身有关。话虽如此,我并没有完全理解这个问题。您是否可能会问是否可以将不同的 MPI 执行链接到单个 SLURM 作业中,并将一次执行的输出传递给下一次执行?
-
首先我需要知道那个代码的含义。该脚本是消息传递 (MPI) 示例脚本的一部分。我可以找到过程的输入和输出。现在我需要编写正确的代码并获得正确的输出,而无需关心并行性。