Download presentation
Presentation is loading. Please wait.
Published byVivien Walker Modified over 9 years ago
2
Specialized systems are Inevitable Already the norm Practical
3
Heterogeneous parallelism
4
4 Virtual Worlds Personal Robotics Data informatics Scientific Engineering Applications Heterogeneous Hardware New Arch. Programming Heterogeneous Parallelism
5
MPI Hadoop Verilog VHDL CUDA OpenCL Threads OpenM P Architecture Specific Programming Models
6
High Performance But Low Productivity
7
Virtual Worlds Personal Robotics Data informatics Scientific Engineering Applications Heterogeneous Hardware New Arch. Scal a Jav a Python Ruby C++ Clojure Not enough semantic knowledge to compile automatically No restrictions General-Purpose Languages
8
Make Specialized PL Practical Inevitable Already the norm Practical
9
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
10
Virtual Worlds Personal Robotics Data informatics Scientific Engineering Physics (Liszt) Data Analytics (OptiQL) Graph Alg. (Green Marl) Machine Learning (OptiML) Statistics (R) Applications Domain - Specific Languages Heterogeneous Hardware DSL Compiler DSL Compiler DSL Compiler DSL Compiler DSL Compiler New Arch. High Performance Domain- Specific Languages
11
HP DSLs Will Be Practical Embedded DSLs Flexible embedding languages: Scala, F# Metaprogramming (aka staging) Blurring line between libraries and languages DSL Frameworks Support domain specific optimizations Support parallelism and locality optimizations Multiple backends e.g. Spoofax, Rose, Delite, Terra/Lua
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.