Parallel Patterns Library: Difference between revisions
Citation bot (talk | contribs) Add: date. | Use this bot. Report bugs. | Suggested by Abductive | Category:Threads (computing) | #UCB_Category 14/41 |
Syntax highlight |
||
Line 2: | Line 2: | ||
For example, this sequential loop: |
For example, this sequential loop: |
||
<syntaxhighlight lang="cpp"> |
|||
⚫ | |||
{ |
|||
⚫ | |||
} |
|||
</syntaxhighlight> |
|||
⚫ | |||
⚫ | |||
<syntaxhighlight lang="cpp"> |
|||
{ |
|||
⚫ | |||
⚫ | |||
// . . . |
|||
⚫ | |||
{ |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
</syntaxhighlight> |
|||
// . . . |
|||
⚫ | |||
{ |
|||
⚫ | |||
⚫ | |||
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. |
Latest revision as of 20:25, 24 August 2024
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
[edit]- ^ "The Visual C++ Weekly". March 12, 2011. Archived from the original on October 8, 2011. Retrieved August 14, 2011.
- ^ "Parallel Patterns Library (PPL) on MSDN". 3 August 2021.