使用前缀sum - 并行或顺序

时间:2013-06-07 15:49:00

标签: algorithm parallel-processing

我一直想知道何时使用并行前缀和而不是使用顺序构建。我正在使用的算法构造了并行和,但我读到的地方对于少量元素(通常少于100个元素),它更适合顺序算法。这带来了一个问题,即是否存在某个阈值,高于该阈值并行实现可能会比顺序实现一些增益?我使用opencl进行编码,并使用Blelloch 1990实现实现了并行前缀和。

1 个答案:

答案 0 :(得分:1)

像往常一样,这取决于。关于实现,设备和数据的大小。

GPU Gems 3, chapter 39有一些漂亮的图表,显示他们的特定实现何时具有阈值。他们当然没有天真地实现算法 - 它是使用共享内存,展开循环和缓存库冲突避免的优化版本。

一旦实施,您只需对其进行基准测试即可找到阈值。