【问题标题】:MPI Triangular TopologyMPI 三角拓扑
【发布时间】:2014-07-23 09:59:28
【问题描述】:

我需要对(上)三角矩阵进行一些计算,我正在考虑使用 MPI 来实现。似乎为此定义适当的拓扑会很方便。笛卡尔拓扑朝着那个方向发展,但还不是我所需要的。我需要一个拓扑,它可以让我在严格的上三角矩阵上给出过程的等级,即严格在对角线上。

我需要的三角形拓扑类型如下(比如 3x3 笛卡尔网格):

i       j      rank     
0       0      NULL       
0       1       1 
0       2       2
1       0      NULL       
1       1      NULL
1       2       3
2       0      NULL       
2       1      NULL    
2       2      NULL

感谢您的帮助!

【问题讨论】:

    标签: c parallel-processing mpi openmpi


    【解决方案1】:

    MPI 不提供您要求的拓扑类型。它提供笛卡尔拓扑或通用图拓扑。在一般的图拓扑中,每个等级都有一个相邻等级的列表,但很难将半个网格映射到该列表上。

    您可能想要编写自己的一组例程来管理此类拓扑。您实际上必须重新实现的是将坐标映射到排名的函数,反之亦然,以及查找给定排名的邻居的函数。您可以预先计算映射并将其作为属性缓存在相应的通信器中,即使用MPI_COMM_GET_ATTRMPI_COMM_SET_ATTR 调用。

    【讨论】:

    • 太棒了,谢谢你!以防万一:您是否想到了显示此类实现示例的参考?
    • 我不知道,抱歉。
    猜你喜欢
    • 2010-10-26
    • 2013-04-18
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 2012-03-17
    • 1970-01-01
    • 2017-12-17
    相关资源
    最近更新 更多