STAPL - PowerPoint PPT Presentation

About This Presentation
Title:

STAPL

Description:

Emphasizes irregular programs (dynamically linked data structures vs arrays, etc) ... Abstraction Layers. Interface layer. Concurrency/Communication layer ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 11
Provided by: jcb91
Learn more at: http://charm.cs.uiuc.edu
Category:

less

Transcript and Presenter's Notes

Title: STAPL


1
STAPL
2
STAPL
  • Standard Template Adaptive Parallel Library is a
    superset of the C STL
  • Emphasizes irregular programs (dynamically linked
    data structures vs arrays, etc)
  • SPMD

3
Abstraction Layers
  • Interface layer
  • Concurrency/Communication layer
  • Software Implementation layer
  • Machine layer

4
Key Extensions to STL
  • Containers -gt pContainers
  • Algorithms -gt pAlgorithms
  • pRange
  • Distributor
  • Scheduler
  • Executor

5
Extensions
  • pContainers are backwards compatible with STL
    containers
  • pAlgorithms STAPL includes parallel versions of
    all STL algorithms as well as some other parallel
    operations (parallel prefix)
  • pRange construct that allows random access to
    subranges of the data

6
pRanges
  • Supports recursive subpartitioning to support
    nested parallelism
  • Analogous to STL iterators
  • Distributor distributes data
  • Scheduler enforces dependences in parallel
    execution according to data dependence graphs
  • Contain a relation determining the computation
    order of the subranges and priorities for each.
    If not specified, can be self computed or set to
    specific values for performance reasons

7
pContainers
  • Backwards compatible (can provide STL iterators)
  • Has internal pRange
  • Methods parallelized when possible
  • Operation is parallel
  • May be called simultaneously be different
    processors in a parallel region

8
pAlgorithms
  • Three types
  • Semantically identical to STL versions (sort,
    merge, reverse)
  • Enhanced semantics (find)
  • No counterpart in STL
  • Operate on pRanges instead of iterators

9
Runtime System
  • Can operate on many platforms
  • Can use many systems to implement parallelism
  • Pthreads
  • OpenMP
  • MPI
  • Uses parallel memory allocator

10
Using STAPL
  • Code can be written directly using pContainers,
    pAlgorithms, pRanges, etc
  • Code can be written in STL then translated to use
    STAPL with 5 overhead
Write a Comment
User Comments (0)
About PowerShow.com