3

我有大量分布在 3D 网格上的标量值(每个顶点一个值。)

我的目标是展示:

  • 网格中值大于阈值的所有点。
  • AND 对连接的点进行分组(以简化显示。)

所以我的基本解决方案是:

  1. 找到通过阈值测试的点
  2. 对于每个尚未分组的点,创建一个新组并将所有连接的点递归地放入该组。

这很好,直到我开始使用多核解决方案:

  • 数据集已划分为多个核心
  • 每个核心都知道其他核心共享的边界点。
  • 我正在使用 MPI 在内核之间进行通信。

我使用我的原始算法来查找“本地”组单个核心。

我的挑战是将“本地”组合并到全局组中。问题变得复杂的原因有很多: 相互关联的群体可以跨越许多核心边界。在一个核心上看起来独立的组可以由第二个核心上的一组连接。

提前致谢。杰夫

4

1 回答 1

1

阈值测试可以在本地进行,因此为了简单起见,我们可以将其从讨论中删除。您想要的是有一个分布式算法来计算图中的连接组件。这篇论文应该非常相关:

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.1091

于 2009-06-19T05:10:53.797 回答