specialized systems are inevitable already the norm practical

12

Upload: vivien-walker

Post on 04-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Specialized systems are  Inevitable  Already the norm  Practical
Page 2: Specialized systems are  Inevitable  Already the norm  Practical

Specialized systems are

Inevitable

Already the norm

Practical

Page 3: Specialized systems are  Inevitable  Already the norm  Practical

Heterogeneous parallelism

Page 4: Specialized systems are  Inevitable  Already the norm  Practical

4

Virtual Worlds Personal RoboticsData

informaticsScientific

EngineeringApplications

Heterogeneous

Hardware

New Arch.

Programming Heterogeneous Parallelism

Page 5: Specialized systems are  Inevitable  Already the norm  Practical

MPIHadoop

VerilogVHDL

CUDAOpenCL

ThreadsOpenMP

Architecture Specific Programming Models

Page 6: Specialized systems are  Inevitable  Already the norm  Practical

High Performance But Low Productivity

Page 7: Specialized systems are  Inevitable  Already the norm  Practical

Virtual Worlds Personal RoboticsData

informaticsScientific

EngineeringApplications

Heterogeneous

Hardware

New Arch.

Scala Jav

aPython

Ruby

C++ Clojur

e

Not enough semantic knowledge to compile

automatically

No restrictions

General-Purpose Languages

Page 8: Specialized systems are  Inevitable  Already the norm  Practical

Make Specialized PL Practical

Inevitable

Already the norm

Practical

Page 9: Specialized systems are  Inevitable  Already the norm  Practical

Domain Specific Languages Domain Specific Languages (DSLs)

Programming language with restricted expressiveness for a particular domain

High-level, usually declarative, and deterministic

Most popular parallel PL

Most Science apps start with this PL

Enabled GPU innovation

Page 10: Specialized systems are  Inevitable  Already the norm  Practical

Virtual Worlds Personal RoboticsData

informaticsScientific

Engineering

Physics(Liszt)

Data Analytics (OptiQL)

Graph Alg.(Green Marl)

Machine Learning(OptiML)

Statistics(R)

Applications

Domain- Specific

Languages

Heterogeneous

Hardware

DSLCompiler

DSLCompiler

DSLCompiler

DSLCompiler

DSLCompiler

New Arch.

High Performance Domain-Specific Languages

Page 11: Specialized systems are  Inevitable  Already the norm  Practical

HP DSLs Will Be Practical

Embedded DSLsFlexible embedding languages: Scala, F#

Metaprogramming (aka staging)

Blurring line between libraries and languages

DSL FrameworksSupport domain specific optimizations

Support parallelism and locality optimizations

Multiple backends

e.g. Spoofax, Rose, Delite, Terra/Lua

Page 12: Specialized systems are  Inevitable  Already the norm  Practical