【发布时间】:2011-06-13 02:47:44
【问题描述】:
当此调用期间的进程数与计算开始时产生的进程数不同时,Bcast 的语义是什么?
我需要处理用户指定执行计算所需的过多进程的情况。例如,用户可能决定使用mpirun 生成 16 个进程,而我只需要 12 个进程就可以在进程之间拆分问题。当 PID 太高时,我通过将 PID 与 12 进行比较并使用 MPI_Finalize 结束进程来处理这种情况。我认为这会导致我的应用程序出现死锁,因为 Bcast 想要发送到所有进程?
如何处理?我应该只在所有进程中调用 Bcast,而忽略某些进程的输出吗?
【问题讨论】:
标签: concurrency parallel-processing mpi