Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Openmpi 在sun grid引擎中提交多个mpirun程序_Openmpi_Sungridengine_Supercomputers - Fatal编程技术网

Openmpi 在sun grid引擎中提交多个mpirun程序

Openmpi 在sun grid引擎中提交多个mpirun程序,openmpi,sungridengine,supercomputers,Openmpi,Sungridengine,Supercomputers,我想知道如何在Sun Grid引擎的一个作业脚本文件中提交几个mpirun程序 假设我编译了程序1,程序2,程序3。。程序100 并希望同时运行它们,以便每个都使用16个CPU 在一个作业脚本中,不生成100个作业脚本 mpirun -np 16 program1 & mpirun -np 16 program2 & mpirun -np 16 program3 .... 如何将节点分发到Sun Grid engine中的每个程序? 我可以将SGE的主机文件拆分为100个,并将

我想知道如何在Sun Grid引擎的一个作业脚本文件中提交几个mpirun程序

假设我编译了程序1,程序2,程序3。。程序100 并希望同时运行它们,以便每个都使用16个CPU 在一个作业脚本中,不生成100个作业脚本

mpirun -np 16 program1 &
mpirun -np 16 program2 &
mpirun -np 16 program3 ....
如何将节点分发到Sun Grid engine中的每个程序? 我可以将SGE的主机文件拆分为100个,并将它们提供给每个MPI运行吗


谢谢。

使用SGE实现该用例的正确方法是使用阵列作业:

#$ -cwd
#$ -pe mpi 16
#$ -t 100

mpirun -np $NSLOTS ./program${SGE_TASK_ID}
-t 100参数创建一个包含100个任务的数组作业,每个任务在SGE_TASK_ID环境变量中接收一个从1到100的不同值


拆分主机文件是不可取的,因为这可能会干扰MPI库与SGE执行和作业监视机制之间的集成。

我在SGE中尝试了阵列作业,它成功了。数组作业自动重复同一作业脚本多次,并使用某种名称约定。非常感谢。