首页 > 解决方案 > MPI_Bcast 有时挂起

问题描述

我有以下运行 MPI_Bcat 的代码块。奇怪的是,这个过程有时会在我运行它而不是其他的时候挂起。调试信息显示所有进程到达第 129 行(所有进程 0 到 n-1 打印 bcast 开始)。但他们从未到达第 132 行。

128         if (n_procs > 1) {
129             debug("[%d] bcast start\n", dgrid->rank);
130             //  broadcast to other workers to stop their process
131             MPI_Bcast(finished, 1, MPI_INT, root, MPI_COMM_WORLD);
132             debug("[%d] bcast end\n", dgrid->rank);
133         }

这个问题的可能原因是什么?我试图寻找解决方案,但一切似乎都不同。这可能是系统级问题还是只是我的代码?

从终端输出来看,根进程 (0) 通常是到达第 129 行的最后一个进程。

提前致谢。

标签: cparallel-processingmpideadlock

解决方案


推荐阅读