【问题标题】:Changing number of processors during execution of the code in MPIs based parallel programming.在基于 MPI 的并行编程中执行代码期间更改处理器数量。
【发布时间】:2012-03-29 19:29:56
【问题描述】:

我在 FORTRAN 中使用基于 MPI 的并行编程。运行程序,例如10 个处理器我正在使用标准 MPI 命令

mpirun –n 10 prog_name

所以程序将从头到尾在 10 个处理器上执行,即在代码执行期间处理器的数量是恒定的。

我的问题是是否可以在程序执行期间更改处理器的数量,例如从 2 个处理器开始,然后在某些标准之后,我想将处理器的数量更改为 4,然后更改为 6 到 10 到 20,依此类推。

提前致谢。

【问题讨论】:

  • 这样做的原因,因为我的问题一开始很小,在执行过程中越来越大。

标签: fortran mpi parallel-processing


【解决方案1】:

MPI-2 (大约)支持这种操作,谷歌搜索mpi_comm_spawn 和相关例程的文档。我写大概是因为严格来说MPI只关注进程而不是处理器。还要研究例程 mpi_comm_get_attr 和预定义常量 mpi_universe_size 的文档,它们使您的程序和运行时环境之间能够进行通信,以确定可用进程的数量等信息。

您可能会发现并行计算机上的作业管理系统不允许程序在运行时占用更多处理器。

我预计,您希望避免的是,在开始执行作业时为 10 个进程占用 10 个处理器,然后再生成另外 20 个进程以在相同的 10 个处理器上运行。

【讨论】:

    猜你喜欢
    • 2018-01-09
    • 1970-01-01
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 2022-11-03
    • 1970-01-01
    相关资源
    最近更新 更多