Parallel Patterns Library (Parallel Patterns Library)

Перейти к навигации Перейти к поиску
Parallel Patterns Library
Язык программирования C++

Parallel Patterns Library (рус. Библиотека параллельных шаблонов) — библиотека Microsoft, предназначенная для использования разработчиками на C++ и предлагающая функции для многоядерного программирования, которая поддерживается начиная с Visual Studio 2010 и похожа по названию на Intel Threading Building Blocks[1][2][3]. По стилю эта библиотека напоминает стандартную библиотеку C++ и хорошо сочетается с новыми возможностями стандарта C++ 11, также реализованными в Visual Studio 2010.

Например, этот последовательный цикл:

  for (int x=0; x < width; ++x)
  {
     //Something parallelizable
  }

Может быть превращён параллельный цикл, путём замены for на parallel_for:

  #include <ppl.h>
  // . . .
 Concurrency::parallel_for (0, width, [=](int x)
 {
     //Something parallelizable
 });

Код подразумевает, что цикл параллелен, а вся остальная работа выполняется библиотекой.

MSDN[4] описывает библиотеку параллельных шаблонов как «императивную модель программирования, обеспечивающую масштабируемость и простоту использования для разработки параллельных приложений», которая используется для планирования и управления ресурсами, а для использования в параллельных приложениях предоставляются общие, безопасные типы алгоритмов и контейнеры.

Примечания

[править | править код]
  1. Daniel J. Duffy. Ch. 30. Parallel Patterns Language (PPL) // Financial Instrument Pricing Using C++. — John Wiley & Sons, 2018-10-01. — С. 961-992. — 1168 с. — ISBN 9780470971192.
  2. The Visual C++ Weekly (12 марта 2011). Дата обращения: 6 июля 2019. Архивировано из оригинала 8 октября 2011 года.
  3. Ivor Horton. Introducing The Parallel Patterns Library // Ivor Horton's Beginning Visual C++ 2010. — John Wiley & Sons, 2010. — С. 844. — 1272 с. — ISBN 9780470930342.
  4. Библиотека параллельных шаблонов. Microsoft Docs (4 ноября 2016). Дата обращения: 31 июля 2019. Архивировано 12 мая 2020 года.