Jump to content

Parallel Patterns Library: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0
Citation bot (talk | contribs)
Add: date. | Use this bot. Report bugs. | Suggested by Abductive | Category:Threads (computing) | #UCB_Category 14/41
Line 19: Line 19:
This still requires the developer to know that the loop is parallelizable, but all the other work is done by the library.
This still requires the developer to know that the loop is parallelizable, but all the other work is done by the library.


MSDN<ref>{{cite web | url = http://msdn.microsoft.com/en-us/library/dd492418.aspx | title = Parallel Patterns Library (PPL) on MSDN }} </ref> describes the Parallel Patterns Library as an "imperative programming model that promotes scalability and ease-of-use for developing concurrent applications." It uses the Concurrency Runtime for scheduling and resource management and provides generic, type-safe algorithms and containers for use in parallel applications.
MSDN<ref>{{cite web | url = http://msdn.microsoft.com/en-us/library/dd492418.aspx | title = Parallel Patterns Library (PPL) on MSDN | date = 3 August 2021 }} </ref> describes the Parallel Patterns Library as an "imperative programming model that promotes scalability and ease-of-use for developing concurrent applications." It uses the Concurrency Runtime for scheduling and resource management and provides generic, type-safe algorithms and containers for use in parallel applications.


==References==
==References==

Revision as of 21:02, 11 November 2023

The Parallel Patterns Library is a Microsoft library designed for use by native C++ developers that provides features for multicore programming.[1] It was first bundled with Visual Studio 2010. It resembles the C++ Standard Library in style and works well with the C++11 language feature, lambdas, also introduced with Visual Studio 2010.

For example, this sequential loop:

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

Can be made into a parallel loop by replacing the for with a parallel_for:

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

This still requires the developer to know that the loop is parallelizable, but all the other work is done by the library.

MSDN[2] describes the Parallel Patterns Library as an "imperative programming model that promotes scalability and ease-of-use for developing concurrent applications." It uses the Concurrency Runtime for scheduling and resource management and provides generic, type-safe algorithms and containers for use in parallel applications.

References

  1. ^ "The Visual C++ Weekly". March 12, 2011. Archived from the original on October 8, 2011. Retrieved August 14, 2011.
  2. ^ "Parallel Patterns Library (PPL) on MSDN". 3 August 2021.