ParMetis是否生成有关处理器邻居的任何信息?

时间:2018-01-01 22:09:00

标签: mpi partition metis

我正在研究移动网格上的并行有限元方法。

因此,每次重新网格化时,我都需要从ParMetis调用ParMETIS_V3_AdaptiveRepart来执行重新分区。

成功时,该功能仅生成分区信息,即处理器上的元素。

然而,为了构造子网格的重影层,过程的邻居也是重要的。

所以我想知道是否有任何有效的方法来获取有关共享(重叠)实体和邻居的信息,或者ParMetis是否实际提供了这些信息?

1 个答案:

答案 0 :(得分:0)

ParMetis 是功能 ParMETIS_V3_AdaptiveRepart 或多或少地执行 ParMETIS_V3_PartKway

ParMETIS_V3_PartKway 的输出为part“大小等于本地存储的顶点数的数组。成功完成后, 将本地存储的顶点的分区矢量写入此数组。”

它也返回被切边的数量。 (这只是您想要的一部分)。

但是METIS不能像您所说的那样提供一种创建“幽灵层”的方法。

但是,由于创建了图形,因此您知道如何为每个元素找到每个邻居。然后,您可以检查您的邻居元素是否在当前流程的图形中,以及part[element]==part[neighbour_element]是否在其中。如果邻居元素不在您当前的过程中,则必须执行一些MPI。