Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/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
C 从文件中获取MPI进程数_C_Parallel Processing_Mpi - Fatal编程技术网

C 从文件中获取MPI进程数

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 除去注释和空白,每行有

我不知道如何从文件中获取需要运行的MPI进程的数量。我有一个MakeFile,在我的“跑步”目标中,我有:

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
主机,但这是您应该测试的。