C 从文件中获取MPI进程数
我不知道如何从文件中获取需要运行的MPI进程的数量。我有一个MakeFile,在我的“跑步”目标中,我有:C 从文件中获取MPI进程数,c,parallel-processing,mpi,C,Parallel Processing,Mpi,我不知道如何从文件中获取需要运行的MPI进程的数量。我有一个MakeFile,在我的“跑步”目标中,我有: mpirun --hostfile ${HOSTFILE} ./${PROGRAM} $(input_file) 这很好,但是我想指定需要运行的进程的数量,我想从这个输入文件的第一行获取它们。我该怎么做 例如,输入_文件中的第一行是9。因此,我希望: mpirun -n 9 --hostfile my_host_file ./program file.input 除去注释和空白,每行有
mpirun --hostfile ${HOSTFILE} ./${PROGRAM} $(input_file)
这很好,但是我想指定需要运行的进程的数量,我想从这个输入文件的第一行获取它们。我该怎么做
例如,输入_文件中的第一行是9。因此,我希望:
mpirun -n 9 --hostfile my_host_file ./program file.input
除去注释和空白,每行有一个主机。你可以去掉所有其他的东西,然后数一数行数。如果您自己生成了hostfile,并且知道它是“干净的”,那么
wc-l${hostfile}
应该这样做。是否应该将hostfile与输入文件一起更改?我的意思是,我希望运行的进程数量的每一次变化都应该伴随着主机的变化吗?或者我可以在hostfile中声明太多的主机并通过参数-n控制进程的数量吗?我相信您可以使用比hostfile中的主机更小的-n
,但这可能取决于实现。在我们这样做的一个系统上,它需要第一个-n
主机,但这是您应该测试的。