Parallel Patterns Library (PPL)
The Parallel Patterns Library (PPL) provides an imperative programming model that promotes scalability and ease-of-use for developing concurrent applications. The PPL builds on the scheduling and resource management components of the Concurrency Runtime. It raises the level of abstraction between your application code and the underlying threading mechanism by providing generic, type-safe algorithms and containers that act on data in parallel. The PPL also lets you develop applications that scale by providing alternatives to shared state.
The PPL provides the following features:
• Task Parallelism: a mechanism to execute several work items (tasks) in parallel
• Parallel algorithms: generic algorithms that act on collections of data in parallel
• Parallel containers and objects: generic container types that provide safe concurrent access to their elements
The Parallel Patterns Library is a Microsoft library designed for use by native C++ developers that provides features for multicore programming. 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.
MSDN 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.
Contents related to 'Parallel Patterns Library (PPL)'
Open Multi-Processing (OpenMP, OMP): OpenMP is an Application Program Interface (API), jointly defined by a group of major computer hardware and software vendors. OpenMP provides a portable, scalable model for developers of shared memory parallel applications.
Message Passing Interface (MPI): Message Passing Interface (MPI) is a standardized and portable message-passing system designed by a group of researchers from academia and industry to function on a wide variety of parallel computers.
Threading Building Blocks (TBB): Threading Building Blocks (TBB) is a C++ template library developed by Intel for writing software programs that take advantage of multi-core processors.