【问题标题】:What are some simple embarrassingly parallel algorithms? [closed]有哪些简单的令人尴尬的并行算法? [关闭]
【发布时间】:2012-04-24 03:54:03
【问题描述】:

我正在为Cicero 编写一个测试应用程序,我需要一个简单的、令人尴尬的并行算法,该算法易于理解,但在输入中添加一个并不那么简单。

现在,我只对只需要“映射”步骤的算法感兴趣。或者,我只对算法的“映射”步骤感兴趣。

有什么想法吗?

【问题讨论】:

  • 有趣的问题,但过于宽泛,您需要限制问题的范围,以免落入“非建设性”类别。

标签: algorithm parallel-processing


【解决方案1】:

一种令人尴尬的并行算法是一种通常具有某种数据结构 D 的算法,该数据结构 D 由元素 e 通过某种操作 o(如连接)组装而成。当您想将操作 X 应用于 D 时,您会遇到令人尴尬的并行性,例如,计算 X(D),并且您可以通过使用 D = p o q 的分配律 X(D)= X(p) O X(q) 来获得它。通过将 D 划分为其元素,您可以将 X 应用于每个元素并相互依赖地计算答案。

许多应用逐元素运算的矩阵运算(例如,矩阵加法、减法)是令人尴尬的并行。 FORTRAN 有一个 ELEMENTAL 函数,您可以将其应用于旨在用于此类操作的数组。

您可以概括 N 维中的连接操作或将构成子图的操作粘合在一起。

【讨论】:

    最近更新 更多