Tag: 消息传递

如何在消息传递系统中实现屏障?

我的理解是,一个主进程向所有其他进程发送消息。 返回的所有其他进程都会向主进程发送消息。 这是否足以让障碍工作? 如果没有,那还需要什么呢?

使用MPI分散不同大小的矩阵块

(假设所有矩阵都按行主顺序存储。)说明问题的一个例子是在3×3网格上分布10×10矩阵,以便每个节点中子矩阵的大小看起来像 |—–+—–+—–| | 3×3 | 3×3 | 3×4 | |—–+—–+—–| | 3×3 | 3×3 | 3×4 | |—–+—–+—–| | 4×3 | 4×3 | 4×4 | |—–+—–+—–| 我在Stackoverflow上看过很多post(例如使用MPI和MPI分区矩阵将 C块中的2D数组块发送 到块中 )。 但是它们只处理相同大小的块(在这种情况下,我们可以简单地使用MPI_Type_vector或MPI_Type_create_subarray并且只使用一个MPI_Scatterv调用)。 所以,我想知道在MPI中将矩阵分散到处理器网格中的最有效方法是什么,其中每个处理器都有一个具有指定大小的块。 PS我也看过MPI_Type_create_darray ,但似乎没有让你为每个处理器指定块大小。