【问题标题】:Is hierachical parallelism possible with MPI libraries?MPI 库可以实现分层并行吗?
【发布时间】:2020-04-08 07:39:19
【问题描述】:

我正在使用 MPI 编写计算代码。我有软件的几个部分,每个部分计算问题的不同部分。每个部分都是用 MPI 编写的,因此可以作为一个独立的模块运行。现在我想将这些部分组合在一个程序中一起运行,并且代码的所有部分并行运行,而每个部分本身也并行运行。

例如节点总数 = 10,part1 运行 6 个节点,part 2 运行 4 个节点,两者一起运行。

有没有什么方法可以让我使用 10 个节点进行 mpirun,并在每个部分使用所需数量的节点进行 mpi_init,而无需重写整个程序来为每个代码部分分配进程?

【问题讨论】:

    标签: mpi


    【解决方案1】:

    这并不简单。

    一种选择是使用带有MPI_Comm_spawn()(两次)您的子程序的外部程序。缺点是这需要一个插槽。

    另一个选项需要重写,因为所有任务都将在同一个MPI_COMM_WORLD 中结束,因此取决于他们是谁MPI_Comm_split(),并使用生成的通信器而不是MPI_COMM_WORLD

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 2012-03-02
    • 2011-11-28
    • 2016-05-15
    • 2011-01-21
    • 1970-01-01
    • 2020-11-24
    相关资源
    最近更新 更多