libstdc++并行模式:谁在使用它?它安全吗?有类似的项目吗?

16

GNU C++库的实现支持并行模式,可以在这里找到详细说明。

  • 您有使用过它的经验吗?好的还是坏的?特别是关于正确性的问题,但也包括性能。
  • 是否有一些“比较严肃”的项目在使用它?
  • 您是使用全局打开并行开关-D_GLIBCXX_PARALLEL,还是仔细地手动打开特定的并行化功能,例如:__gnu_parallel::sort(v.begin(), v.end());
  • 是否有类似的开源项目?意思是:比使用openMP更容易并行化。

感谢您的经验。

Sascha


2
如果您在libstdc++@gcc.gnu.org邮件列表上提问,可能会得到答案。请参见http://gcc.gnu.org/lists.html。 - Laurynas Biveinis
3个回答

4

回答晚了,但:

我认为应该认真考虑使用Intel TBB。我注意到 C++标准并行模式中缺少了并行容器。TBB容器不遵循C++标准容器的接口规范,但它们为此提供了解释。除此之外,TBB还有许多示例和设计模式。


TBB和GNU Parallel模式是两个完全不同的东西。虽然你可以免费获得(几乎)100多个STL函数的并行编写,但在TBB中你将无法获得它,而需要自己编写代码(只有像std::sort这样明显的函数)。如果你知道如何使用STL函数,这对于并行化来说确实是一件好事。另一方面,你可以在TBB中获得一些并行容器。 - eci

3

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接