PPL Compatibility

Intel® Threading Building Blocks (Intel® TBB) 2.2 introduces features based on joint discussions between the Microsoft Corporation and Intel Corporation. The features establish some degree of compatibility between Intel TBB and Microsoft Parallel Patterns Library (PPL) development software.

Each feature appears in namespace tbb. Each feature can be injected into namespace Concurrency by including the file "tbb/compat/ppl.h". Following is the list of features:

The following table lists the features and provides links to additional information.
Feature Link
parallel_for(first,last,f) parallel_for Template Function
parallel_for(first,last,step,f) parallel_for Template Function
parallel_for_each parallel_for_each Template Function
parallel_invoke parallel_invoke Template Function
critical_section critical_section
reader_writer_lock reader_writer_lock Class
task_handle task_handle Template Class
task_group_status task_group_status Enum
task_group task_group Class
make_task make_task Template Function
structured_task_group structured_task_group Class
is_current_task_group_cancelling is_current_task_group_canceling Function
improper_lock Specific Exceptions
invalid_multiple_scheduling Specific Exceptions
missing_wait Specific Exceptions

For parallel_for, only the variants listed in the table are injected into namespace Concurrency.

CAUTION

Because of different environments and evolving specifications, the behavior of the features can differ between the Intel TBB and PPL implementations.

For more complete information about compiler optimizations, see our Optimization Notice.