我有一个mpi的作业。
在分配中,从站必须与所有其他从站共享一些数据。
让任务= {1,2,3}
任务1使用Ibcast将根设置为1向所有其他任务广播消息。 同时,任务2使用Ibcast将消息设置为2,向所有其他从属设备广播消息。
过了一会儿,所有的任务都完成了
对于(i:tasks | where i!= myRank)
使用Ibcast从根目录中回复消息
我有一个用c编写的代码做上面的例子。
该代码仅在1个任务广播消息时才有效
但如果两个任务同时广播消息(之前,任何其他任务已收到任何消息)
我得到的请求永远不会完成(在ibcast的请求处理程序中使用mpi测试函数 - 在foreach循环中)。
我不确定我做错了什么或者mpi Ibcast在这种情况下没有提供预期的行为。
由于