是否有并行洪水填充实现?

问题描述 投票:0回答:1

我有 openMP 和 MPI 可供使用,并且想知道是否有人遇到过任何洪水填充算法的并行版本(最好是在 c 中)。如果没有,我会对如何并行化它的草图感兴趣 - 鉴于它基于递归,它是否可能?

如果您需要刷新有关洪水填充的记忆,

维基百科有一篇非常好的文章

parallel-processing flood-fill
1个回答
5
投票

洪水填充没有任何“固有”递归性,只是为了做一些工作,您需要一些有关先前发现的“前沿”单元的信息。 如果您这样想,很明显并行性是完全可能的:即使使用单个队列,您也可以使用四个线程(每个方向一个),并且仅在每个单元检查完单元后才移动队列的尾部线。 或者等效地,四个队列。 以这种方式思考,人们甚至可能想象将空间划分为多个队列 - 也许按坐标范围存储。

一个基本问题是问题定义通常包括不重新访问任何单元格的条件。 这意味着每个工作人员都需要一份最新的地图,其中包含已考虑的单元格(全局)。 可变的全局信息在性能方面是有问题的,尽管不难想出方法来限制在全球范围内传播更新的必要性......

© www.soinside.com 2019 - 2024. All rights reserved.