GPLs and DSLs - X

advertisement
General Purpose and Domain Specific
Languages (GPLs and DSLs)
Katherine Yelick, LBNL (moderator)
Andrew Lumsdaine, Indiana University
Armando Solar-Lezama, MIT
Emina Torlak, UCB
John Mellor-Crummey, Rice
Mike Wilde, ANL
Panel Questions
• Is there support for specific science domains?
• Does the language support programming both within
and between compute nodes?
• What types of parallelism (implicit, SPMD, data, task)
are supported?
• What types of synchronization exist in the languages?
• How is communication between tasks handled? Is it
limited by task structure, type constraints, etc.?
• What other novel features exist for managing energy,
resilience, reproducibility, or other systems features?
XStack Review
2
Panel Questions
•
•
•
•
•
•
GPL or DSL?
Inter or Intra node?
Parallelism? (implicit, SPMD, data, task)
Synchronization?
Communication?
Features for energy, resilience, reproducibility,
or other systems features?
XStack Review
3
The X-Stack Programming Model Puzzle Pieces
X10
Swift
1 DSL?
No
No
Inter/Intra2 Node?
Same
Inter
Types of
parallelis Task, Map3m
Reduce
Task
4 Synch
UPC
Haban
ero-C CAF
(HC)
2.0
Both
Both
Same Neither Both
Task

SPMD SPMD N/A
Task
Finish,
Asynch,
Phasers

Futures,
atomics,
Actors
Events,
locks,
cofence,
barriers,
finish.

atomics.
PGAS
5 Comm
Yes
LE
No
Barriers
locks
Conditiona Implicit 
l atomics dataflow Atomics
Shared
memory
C
No
SPMD
No
SWAR
SLEE M/SCA
N/A
Shared
PGAS & mem + &
collect- {MPI,
collectives
N/A
GASNet} ives.
Resilience
Energy,
Resilience (in Automatic (in
6 resilience,... progress)
retry
progress)
No
Sketch
XPI
Yes
No
Yes
Intra
Same
Intra
Implicit Tasks
Dependences,
codelet
chaining,
latches,
barriers,
locks, etc.
Futures
Dataflo
w
Futures
,
remote
codelet
s
Active
GAS
Resilience Resilience
Resilience
(in
(in
Heterogen (in
progress) progress) eity
progress)
Rosette
Resilience
(in
progress)
Implicit
• Add your language / programming model to the gdoc
https://docs.google.com/a/lbl.gov/spreadsheet/ccc?key=0AnxagJ
H-lElndDE5OFF3YkVqUFQtOHY3alZveGlYTFE#gid=0
XStack Review
5
Exascale Coordination Summary of X-Stack
• Goals:
– Enable DOE applications to take maximum use of future
architectures ( MPI+X is part of the plan)
– Broaden the base of future applications by improving
programmability (may not involve MPI)
• Strategy:
– Narrow the possible values X and help define/refine X and MPI
– Identify a small set of challenges of future systems (e.g., explicit
memory management, heterogeneity, memory bw, coherence)
and evaluated possible solutions
XStack Review
6
GPL / DSL MarketPlace
• Building Solver-Aided DSLs with Rosette (Emina Torlak, UCB)
– Rosette is a new framework for rapid design and prototyping of
solver-aided DSLs.
• SPI: the eXascale ParalleX Intermediate form (Andrew
Lumsdaine, Indiana University)
– The XPRESS team will discuss the eXascale ParalleX Intermediate
form (XPI), a low-level API to HPX functionality that can be directly
called as a library or used as a compiler target.
• Sketch: a system for program synthesis (Armando Solar-Lezama,
MIT)
– The Sketch system uses a
• Swift: a parallel scripting language (Michael Wilde, Argonne)
– The Swift scripting language, a portable parallel language for
composing parallel applications.
XStack Review
7
Download