【发布时间】:2010-04-23 01:51:42
【问题描述】:
当我 MPI_Send 到已完成的进程时会发生什么?
我正在学习 MPI,并在 C 中编写了一个小型糖分布模拟。当工厂停止生产时,这些过程就结束了。当仓库空空如也时,它们就结束了。我可以通过查看 MPI_Send 的返回值来判断商店到仓库的订单是否没有成功(因为仓库流程已经结束)?文档没有提到针对这种情况的具体错误代码,但是成功时不会返回错误。
我能做到吗:
if (MPI_Send(...)) {
...
/* destination has ended */
...
}
并且忽略错误代码?
谢谢
【问题讨论】:
-
如答案中所述,该行为不是您可以依赖的任何东西。您所描述的内容与 MPI 的使用方式并不完全一致。相反,“仓库”流程应该保持活动状态,并通过指示仓库为空的内容明确回答无法完成的请求。
-
Novelcrat:您应该将其发布为答案。
标签: c concurrency mpi