Biblioteca de patrones paralelos - Parallel Patterns Library

Los patrones paralelos Biblioteca es un Microsoft biblioteca diseñada para su uso por los desarrolladores de C ++ nativo que proporciona funciones para la programación multinúcleo . Primero se incluyó con Visual Studio 2010 . Se parece a la biblioteca estándar de C ++ en estilo y funciona bien con la característica del lenguaje C ++ 11, lambdas, también introducida con Visual Studio 2010 .

Por ejemplo, este ciclo secuencial:

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

Se puede convertir en un bucle paralelo reemplazando el for con un paralelo_for:

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

Esto aún requiere que el desarrollador sepa que el bucle es paralelizable, pero todo el resto del trabajo lo realiza la biblioteca.

MSDN describe Parallel Patterns Library como un "modelo de programación imperativo que promueve la escalabilidad y la facilidad de uso para desarrollar aplicaciones simultáneas". Utiliza Concurrency Runtime para la programación y la gestión de recursos y proporciona algoritmos y contenedores genéricos y seguros para su uso en aplicaciones paralelas.

Referencias