16

C++ 库的 GNU 实现支持并行模式,在此处进行了解释。

  • 有使用它的经验吗?好的?坏的?特别是关于正确性,还有性能。
  • 是否有一些“或多或少严肃”的项目使用它?
  • 您是否将它与全局开启并行开关 -D_GLIBCXX_PARALLEL 一起使用,或者您是否小心地将其与手动开启特定并行化功能一起使用,例如:__gnu_parallel::sort(v.begin(), v.end());
  • 有没有类似的开源项目?含义:比使用 openMP 更容易并行化。

感谢您的经验。

萨沙

4

3 回答 3

4

回答太晚了,但是:

我会认真考虑英特尔 TBB。我注意到 C++ 标准并行模式中缺少的一件事是并行容器。TBB 容器不遵循 C++ 标准容器的接口,但它们为此提供了理由。此外,TBB 有许多示例和设计模式。

于 2011-09-11T13:01:07.190 回答
3

我已经将它用于一些小型项目,对于大型 stl 操作有很好的加速。我从未遇到任何问题(我使用了全局开关)。但是我并没有做太多的基准测试,您可能想参考http://algo2.iti.kit.edu/singler/mcstl/parallelmode_se.pdfhttp://ls11-www.cs.uni- 之类的研究dortmund.de/people/gutwen/AD08/VO11_parallel_mode_overview.pdf

于 2010-11-10T10:33:25.443 回答
1

尽管我没有深入研究它,但这似乎很相似。http://thrust.github.com/

于 2013-02-14T11:09:58.957 回答