STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
Overview

Overview

STAPL, the Standard Template Adaptive Parallel Library, is a parallel C++ library with functionality similar to the C++ STL, the Standard Template Library. STAPL executes on uni- or multi-processor architectures with shared or distributed memory and can co-exist in the same program with STL.

STAPL implements parallel algorithms and data structures using standard C++ which provide a SPMD model of parallelism and support nested (recursive) parallelism. Nested parallelism is an important feature for two reasons:

STAPL top-level components have well-defined counterparts in STL.

A reasonable understanding of STL will greatly ease the learning curve for STAPL.

STAPL provides portability across multiple systems by including its own Runtime System to support high level parallel constructs (e.g., task graph execution) and their supporting low level implementations ( parallelPrimitives). STAPL also provides its own scheduling and data distribution interfaces. As such, there is no need for user code modification when porting a program from one system to another.