为了概括我的问题,假设我有一个由 9 个节点组成的小集群,这些节点在 3*3 矩阵中对齐:
6 7 8
3 4 5
0 1 2
我正在尝试几个“本地”通信器(MPI_Comm),其中包括:
- 当前节点的等级和
- 那些相邻的节点。
我试图从 MPI_Comm_World 中拆分节点并为每个节点创建新的通信器,但未能使用新的通信器,因为它似乎包含不针对当前节点的等级。
所以这是我的问题,是否可以对所有节点只使用一个变量,例如 local_comm,它包含每个节点的不同等级。或者我必须使用不同的成员变量,如下所示
MPI_Comm local_comm_0 = {0, 1, 3};
MPI_Comm local_comm_4 = {1, 3, 4, 5, 7};
MPI_Comm local_comm_7 = {4, 6, 7, 8};
ETC...
提前致谢。