Presentation is loading. Please wait.

Presentation is loading. Please wait.

INSPIRE The Insieme Parallel Intermediate Representation Herbert Jordan, Peter Thoman, Simone Pellegrini, Klaus Kofler, and Thomas Fahringer University.

Similar presentations


Presentation on theme: "INSPIRE The Insieme Parallel Intermediate Representation Herbert Jordan, Peter Thoman, Simone Pellegrini, Klaus Kofler, and Thomas Fahringer University."— Presentation transcript:

1 INSPIRE The 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).

2 Parallel Programming  OpenMP  Pragmas (+ API)  Cilk  Keywords  MPI  library  OpenCL  library + JIT ‘hidden’ in compiler IRs treated like ordinary APIs coordinated by user

3 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

4 The Insieme Infrastructure developed @ University of Innsbruck

5 INSPIRE Requirements OpenMP / Cilk / OpenCL / MPI / others INSPIRE complete unified explicit analyzable transformable compact high level whole program open system extensible OpenCL / MPI / Insieme Runtime / others

6 INSPIRE: Organization  Core Language  type system supporting generic types  full sequential & parallel control flow  extension infrastructure  Extensions  parameterized abstract data types ( ADT s)  to support extensions and external interfaces

7 INSPIRE: Organization  Core Language  type system supporting generic types  full sequential & parallel control flow  extension infrastructure  Extensions  parameterized abstract data types ( ADT s)  e.g. mutable state, arrays, C++ containers, …

8 Types  7 type constructors:

9 Expressions  8 kind of expressions:

10 Statements  9 types of statements:

11 Extensions

12 Parallel Model

13 Parallel Model (2)

14 Overall Structure  Structural – opposed to nominal systems  full program is a single expression

15 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 (!)

16 Performance Impact

17 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

18 Thank You! Visit: http://insieme-compiler.orghttp://insieme-compiler.org Contact: herbert@dps.uibk.ac.atherbert@dps.uibk.ac.at

19 The Insieme Vision OpenCL / MPI / Insieme Runtime / others OpenMP / Cilk / OpenCL / MPI / others to establish a research platform for coarse grained, real world, hybrid parallelism INSPIRE

20 The Insieme Infrastructure developed @ University of Innsbruck

21 Language Core

22 Type System  Based on 7 type constructors:

23 Expressions

24 Type System  abstrat, parameterized types  to model ADTs, e.g. int32, array, …  structs / unions  function types  closure types  member function, constructor and destructor types  type variables (generic types)  recursive types

25 IR Toolbox  Semantic Checks  type checker  Imperative consistency checks  Utilities  front-ends / back-ends  pattern matcher / term rewriting system  polyhedral analysis & transformations  IR dumper, printer and parser  …

26 Derived Work [TODO: cite]  Auto tuning of parallel codes  Automatic OpenCL kernel splitting  => distribution among multiple devices  Compiler aided loop scheduling  Automated task granularity control for nested recursive codes

27 Ongoing Activities  Comprehensive analysis framework  Supporting industrial C++ applications  Distributed Runtime system  language ext. for distributed memory  Heterogeneous embedded environments

28 Expressions

29 Language Core

30


Download ppt "INSPIRE The Insieme Parallel Intermediate Representation Herbert Jordan, Peter Thoman, Simone Pellegrini, Klaus Kofler, and Thomas Fahringer University."

Similar presentations


Ads by Google