c - 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 行的最后一个进程。
提前致谢。
解决方案
推荐阅读
- c++ - 如何在 C++ 中为两个 args 的函数重载 [] 运算符?
- python - 使用多列数据绘制折线图(熊猫)
- javascript - 由于 chrome 中的 URL 地址栏,滚动抽屉闪烁
- python - 如何从 Python 3 中的唯一值中获取均值、中值和众数
- python - 在方法内创建动画
- python - 引用最后一个被调用的对象?
- reactjs - React 首先显示三元比较的 ELSE 部分而不是 IF 部分
- excel - VBA:我的 SolverAdd 没有添加我的约束
- android - AutoGrantPermissions 不适用于带有 Appium 1.18.3 的 Andriod 10 和 11
- android - 如何禁用转换以测试 Android Jetpack Compose?