inspire the insieme parallel intermediate representation
DESCRIPTION
INSPIRE The Insieme Parallel Intermediate Representation. Herbert Jordan, Peter Thoman , Simone Pellegrini , Klaus Kofler , and Thomas Fahringer University of Innsbruck. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/1.jpg)
INSPIREThe Insieme Parallel
Intermediate Representation
Herbert Jordan, Peter Thoman, Simone
Pellegrini, Klaus Kofler, and Thomas Fahringer
University of Innsbruck
This research has been partially funded by the Austrian Research Promotion Agency under contract 834307 (AutoCore) and by the FWF Austrian Science Fund under contract I01079 (GEMSCLAIM).
![Page 2: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/2.jpg)
Parallel Programming OpenMP
Pragmas (+ API)
Cilk Keywords
MPI library
OpenCL library + JIT
• ‘hidden’ in compiler IRs• treated like ordinary APIs• coordinated by user
![Page 3: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/3.jpg)
The Insieme Vision
OpenCL / MPI / Insieme Runtime / others
OpenMP / Cilk / OpenCL / MPI / others
IR
to establish a research platform
for coarse grained, real world, hybrid
parallelism
![Page 4: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/4.jpg)
The Insieme Infrastructure
developed @ University of Innsbruck
![Page 5: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/5.jpg)
INSPIRE RequirementsOpenMP / Cilk / OpenCL / MPI / others
INSPIRE
• complete • unified• explicit• analyzable• transformable• compact• high level• whole program• open system• extensible
OpenCL / MPI / Insieme Runtime / others
![Page 6: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/6.jpg)
INSPIRE: Organization Core Language
type system supporting generic types full sequential & parallel control flow extension infrastructure
Extensions parameterized abstract data types (ADTs) to support extensions and external
interfaces
![Page 7: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/7.jpg)
Types 7 type constructors:
![Page 8: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/8.jpg)
Expressions 8 kind of expressions:
![Page 9: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/9.jpg)
Statements 9 types of statements:
![Page 10: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/10.jpg)
Parallel Model Parallel Control Flow
defined by jobs: processed cooperatively by thread
groups
![Page 11: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/11.jpg)
Parallel Model (2) one work-sharing construct
one data-sharing construct
point-to-point communication abstract channels type:
![Page 12: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/12.jpg)
Overall Structure Structural – opposed to nominal
systems full program is a single expression
![Page 13: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/13.jpg)
Overall Structure Consequences:
every entity is self-contained no global lookup-tables or variables all functions are self-confined local modifications are isolated
Also: IR models execution – not code structure path in tree = call context (!)
![Page 14: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/14.jpg)
Conclusion INSPIRE is designed to
represent and unify parallel applications
self-contained, execution oriented structure simplify whole-program manipulations
comprehensive parallel model sufficient to model leading standards for parallel
programming
![Page 15: INSPIRE The Insieme Parallel Intermediate Representation](https://reader035.vdocuments.us/reader035/viewer/2022062222/56815edd550346895dcd7bf5/html5/thumbnails/15.jpg)
Thank You!Visit: http://insieme-compiler.orgContact: [email protected]