Подтвердить что ты не робот

LibstdС++ параллельный режим: кто его использует? Это безопасно? Любые подобные проекты?

реализация GNU библиотеки С++ поддерживает параллельный режим, объясненный здесь.

  • Есть ли у вас опыт использования? Хорошие? Плохие? Особенно в отношении правильности, но и производительности.
  • Есть ли там какие-то "более или менее серьезные" проекты?
  • Используете ли вы его с помощью глобального переключателя с параллельным параллельным подключением -D_GLIBCXX_PARALLEL или используете его с помощью ручного включения определенных функций распараллеливания, таких как: __gnu_parallel::sort(v.begin(), v.end());?
  • Есть ли подобные проекты с открытым исходным кодом? Значение: более простая распараллеливание, чем использование openMP.

Спасибо за ваши впечатления.

Саша

4b9b3361

Ответ 1

Я использовал его для небольших проектов, с хорошим ускорением для больших операций stl. Я никогда не сталкивался с какими-либо проблемами (я использовал глобальный переключатель). Тем не менее, я не очень много сравнивал, вы можете обратиться к исследованиям, таким как http://algo2.iti.kit.edu/singler/mcstl/parallelmode_se.pdf и http://ls11-www.cs.uni-dortmund.de/people/gutweng/AD08/VO11_parallel_mode_overview.pdf.

Ответ 2

Слишком поздно ответить, но:

Я бы серьезно рассмотрел Intel TBB. Одна вещь, которую я заметил отсутствующей в стандартном параллельном режиме С++, - это параллельные контейнеры. Контейнеры TBB не следуют интерфейсу стандартных контейнеров С++, но для этого предоставляют обоснования. Кроме того, TBB имеет ряд примеров и шаблонов проектирования.

Ответ 3

Это кажется похожим, хотя я не очень глубоко в него вникал. http://thrust.github.com/