OpenMP是否支持随机静态计划?

时间:2017-01-13 10:06:33

标签: openmp

我希望并行化具有以下特征的for循环:

1)循环的迭代可以按任意顺序完成。迭代N不依赖于迭代N-k。

2)迭代次数N和(N-k)可能需要显着不同的时间量。确切的成本是N的一个复杂的,确定性的函数,我懒得预测,因为它与我的代码的正确性无关。

3)将相邻的迭代块与不同的工人联系起来会导致一些工人比其他工人更快地完成工作。特别是"中"迭代往往需要更长时间。

4)有大量的迭代。

因此,有了这些特征,自然要做的就是将每个工人与相同数量的随机迭代相关联。 openmp是否支持静态,混乱的调度而不是静态的,连续的调度?我可以使用动态计划,以便没有工作人员闲置,但我记得有些人谈论动态计划有更多的开销。

我自己可以将[0..N-1]的随机查找表保存到[0..N-1]上来转换迭代计数器,我只是想知道我是否已经知道openmp是否已经知道如何这样做。

0 个答案:

没有答案