我有一个在计算集群中运行的令人尴尬的并行(bash)脚本。该脚本是一个 shell 脚本,未链接到任何 MPI 库:这意味着我可以将 MPI 等级发送给它的唯一方法是使用命令行参数。
到目前为止,我只在单个节点内执行它,解决方案很简单:
#!/bin/bash
#SBATCH --nodes=1
N=16
seq $N | xargs -P $N -I% my_script.bash % $N
如何使用两个节点对其进行扩展?如果我只使用'--nodes=2',N=32
然后xargs
将尝试在同一个节点上生成所有线程。另一方面,我不能mpiexec
单独使用:因为脚本没有链接到MPI
库,我不知道如何告诉脚本它是哪个线程。