OpenMP是否支持工作窃取机制?

Mus*_*uus 7 gcc openmp

我正在使用gcc-4.7.4编译器的源代码.我必须学习OpenMP图书馆的工作,我已经阅读了不同版本的OpenMP的文档,我没有找到任何关于炒锅机制的信息.是的,OpenMP不支持工​​作窃取机制吗?

Hig*_*ark 5

OpenMP 将几乎所有的工作调度责任从程序员手中解放出来。除了指定如何在处理器之间划分循环迭代之外,没有明确支持工作窃取,也没有任何其他调度策略。

但是,OpenMP 实现可能会选择使用工作窃取。该方法完全适用于taskOpenMP 支持的显式构造。同样,一个实现可以选择另一种调度方法。

我读过 gcc 实现确实使用了工作窃取,但这不是我研究过的,我可能是错的。

  • 我必须承认,直到现在我才听说过 [工作窃取](https://en.wikipedia.org/wiki/Work_stealing)。最好描述一下它是什么以及它与工作共享的对比。 (3认同)