Вопрос

Я хочу сравнить PPL против OpenMP относительно их производительности, но не могу найти подробное расследование в Интернете.Я верю, что не так много людей, которые испытываются с PPL.

Я разрабатываю свое программное обеспечение в Windows, используя Visual Studio 2010 и не хочу портировать его где-то еще в краткосрочной перспективе.

Если портативность не является проблемой, и только проблема заключается в том, что вы думаете о этих двух методах?

Это было полезно?

Решение

Это, вероятно, зависит от вашего алгоритма, однако это исследование указывает на то, что PPL может быть быстрее, а затем OpenMP:

http:// www.codeproject.com/articles/373305/visual-cplusplus-11-beta-benchmark-of-parallel-loo

Serial : 72ms
OpenMP : 16ms
PPL    : 12ms
.

Другие советы

на MSDN есть Большое сравнение OpenMP и CONTRT (ядро PPL):

Модель OpenMP - это особенно хорошее совпадение для высокопроизводительных вычислений, где очень большие вычислительные задачи распределяются по ресурсам обработки одного компьютера. В этом сценарии известна оборудование среды, и разработчик может разумно ожидать, что имеет эксклюзивный доступ к вычислительным ресурсам при выполнении алгоритма.

Однако другие, менее ограниченные вычислительные среды не могут быть хорошим совпадением для OpenMP. Например, рекурсивные проблемы (например, алгоритм Quicksort или поиск дерева данных) более сложно реализовать с помощью OpenMP. Время выполнения параллелизма дополняет возможности OpenMP, предоставив библиотеку параллельных шаблонов (PPL) и библиотеку асинхронных агентов. В отличие от OpenMP, время выполнения параллелизма обеспечивает динамический планировщик, который адаптируется к доступным ресурсам и корректирует степень параллелизма в качестве изменения рабочей нагрузки.

Итак, основные недостатки OpenMP:

    .
  • Статическая модель Sheduling.
  • не содержит механизм отмены (очень огромный недостаток, во многих связующих алгоритмах смены совпадения).
  • не содержит подход Consullence Agent.
  • проблемы с исключениями в параллельном коде.

Если ваша единственная проблема заключается в производительности, то то, что я думаю о двух подходах, совершенно не имеет значения.Это вопрос, разрешаемый эмпирическим подходом, а не путем аргументации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top