【问题标题】:Boruvka algorithm parallel implementation CUDABoruvka算法并行实现CUDA
【发布时间】:2013-07-24 20:13:27
【问题描述】:

我正在尝试为 CUDA 中的最小生成树实现 Boruvka's algorithm。我了解基本逻辑,但我无法实现它。算法是:

Initialize Graph G(V,E)
Initialize MST
while size(G) > 1:
  for all nodes in graph:
    min equals minimum outgoing edge
    ?

在计算每个节点的最小出边之后,我不明白如何将不相交的子图减少为新节点。一旦我这样做了,我如何计算这些不相交的子图之间的最小边?

【问题讨论】:

    标签: python algorithm graph cuda minimum-spanning-tree


    【解决方案1】:

    我认为您不必将不相交的子图减少为新节点,您只需为每个节点重新计算其新组件,以便能够区分(在计算最小传出边期间)如果节点属于不同零件。 This 数据结构将帮助您有效地做到这一点。

    为了计算不相交子图之间的最小边,通常使用reduction。我认为您将不得不为此启动另一个内核。

    【讨论】:

      猜你喜欢
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多