【问题标题】:Get the number of MPI processes from the file从文件中获取 MPI 进程数
【发布时间】:2014-01-05 02:45:13
【问题描述】:

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

mpirun --hostfile ${HOSTFILE} ./${PROGRAM} $(input_file)

这很好,但我想指定需要运行的进程数,我想从这个 input_file 的第一行获取它们。我该怎么做?

例如,input_file 中的第一行是 9。因此我想要这个:

mpirun -n 9 --hostfile my_host_file ./program file.input

【问题讨论】:

    标签: c parallel-processing mpi


    【解决方案1】:

    不包括 cmets 和空格,每行有一个主机。你可以去掉所有其他的东西,只计算行数。如果您自己生成主机文件并且您知道它是“干净的”,那么 wc -l ${HOSTFILE} 应该这样做。

    【讨论】:

    • hostfile是否应该和input_file一起更改?我的意思是,我想要运行的进程数量的每一次变化都应该跟随主机的变化吗?还是可以在hostfile中声明过多的hosts,通过参数-n来控制进程数?
    • 我相信您可以使用比主机文件中的主机更小的-n,但它可能取决于实现。在我们这样做的一个系统上,它会占用第一个 -n 主机,但这是您应该测试的。
    猜你喜欢
    • 2014-05-21
    • 2022-01-05
    • 1970-01-01
    • 2012-10-08
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多