Algorithm 计算前缀和的并行算法
我在实现并行计算前缀和的算法时遇到了问题。尽管这个算法有3个步骤,但我无法编写代码,因为没有给出伪代码 我浏览了web上的各种资料,也浏览了堆栈溢出,但我没有得到上给出的算法的精确实现。维基提到了以下内容: 前缀和可以通过以下步骤并行计算:Algorithm 计算前缀和的并行算法,algorithm,prefix-sum,Algorithm,Prefix Sum,我在实现并行计算前缀和的算法时遇到了问题。尽管这个算法有3个步骤,但我无法编写代码,因为没有给出伪代码 我浏览了web上的各种资料,也浏览了堆栈溢出,但我没有得到上给出的算法的精确实现。维基提到了以下内容: 前缀和可以通过以下步骤并行计算: 计算连续项目对的总和,其中项目对的第一个项目具有偶数索引:z0=x0+x1,z1=x2+x3,等等 递归计算前缀和w0,w1,w2。。。序列z0,z1,z2 展开序列w0,w1,w2。。。分为总前缀和的两项:y0=x0、y1=w0、y2=w0+x2、y3=w
有人能给我推荐一个伪代码实现让我检查和实现吗?你写的东西本身就是伪代码,但我希望这会有所帮助
prefix_sum(List x):List
begin
//This step is split in multiple tasks that are running in paralell
//build z, be careful around the end
w = prefix_sum(z)
//This step should also be split in multiple tasks
//build y, using w and x
return y
end
编辑:yi是我们想要得到的期望和,yi=wi/2,如果i%2==1,wi/2-1+x,否则。这里我们假设,w-1=0我认为提供的答案不足以理解算法,因此我在这里提供了一个更全面的伪代码的实际答案:在此基础上,有一篇完整的文章根据以下内容描述了最佳并行算法: 布莱洛,盖伊E.1990。“前缀和及其应用”,技术期刊 报告CMU-CS-90-190,卡内基梅隆大学计算机科学学院 大学
这不是个好主意吗?你试过什么?如果你读得好,你剪下的文本是伪代码。高性能标记::我没有正确理解第三步。