在MPI中,是否可以在启动后添加新节点?例如,我有2台计算机已经运行并行MPI应用程序。我在第三台计算机上启动此应用程序的另一个实例,并将其添加到现有的通信器。所有计算机都在本地网络中。
答案 0 :(得分:2)
不,目前无法向正在运行的MPI应用程序添加新节点。 MPI旨在了解程序启动时的节点总数。
正在处理(例如MPI-3)关于处理停机节点的工作。也许如果你可以添加错误的节点,那么你可以添加新的节点,但这是我能想到的最接近的事情。有关MPI容错方法的更多信息,请参阅this answer。
答案 1 :(得分:1)
MPI2程序可能会产生新的排名。该函数是MPI_Comm_spawn,它在新的MPI通信器上启动子项。也就是说,新排名与先前运行的排名具有不同的MPI_COMM_WORLD。应该可以创建一个包含所有当前运行级别的新通信器。