Tutorial Objectives:This tutorial is an introduction to developing domain specific languages (DSLs) for productivity and performance using Delite. Delite is a Scala infrastructure that simplifies the process of implementing DSLs for parallel computation. The goal of this tutorial is to equip attendees with the knowledge and tools to develop DSLs that can dramatically improve the experience of using high performance computation in important scientific and engineering domains. In the first half of the day we will focus on example DSLs that provide both high-productivity and performance. In the second half of the day we will focus on understanding the infrastructure for implementing DSLs in Scala and developing techniques for defining good DSLs.
Kunle Olukotun (Stanford University):
Hassan Chafi (Stanford University, Oracle Labs):
Hassan Chafi is Research Manager at Oracle Labs where he currently leads Project Q. His research investigates domain-specific language infrastructures that simplify development of performance oriented DSLs. Prior to that, Hassan worked in the area of hardware transactional memory as part of the Transactional Coherence and Consistency (TCC) project at Stanford where he developed a scalable extension to the original TCC protocol. Hassan is in the final stages of his PhD candidacy at Stanford University, he is advised by Kunle Olukotun.
HyoukJoong Lee (Stanford University):
HyoukJoong Lee is a PhD candidate in electrical engineering at Stanford University. His research interests include parallel computer architecture and general-purpose GPU computing with their programming models. He has an MS in electrical engineering from Stanford University.
Arvind Sujeeth (Stanford University):
Arvind Sujeeth is a 4th year Ph.D. candidate working with Professor Kunle Olukotun in the Computer Systems Laboratory (CSL) and Pervasive Parallelism Laboratory (PPL). His research interests include leveraging domain-specific languages as a highly productive, high performance parallel programming model. One major goal of his research effort is to create practical open-source software that can tackle real world problems more efficiently than existing solutions.
Zach Devito (Stanford University):
Zach DeVito is a PhD candidate in computer science at Stanford University. His research investigates languages for high-performance scientific computing and data analysis that can run on a variety of modern hardware, including Liszt -- a language for solving partial differential equations on unstructured meshes.
Sungpack Hong (Stanford University, Oracle Labs):
Sungpack Hong is a PhD candidate in electrical engineering at Stanford University. His current research interest is to design efficient systems for analyzing large graph data and to provide an easy way for the non-experts to use such systems. Before he came to Stanford, he has had significant R&D experiences in design and optimization of embedded systems. Sungpack is also a Principal Member of the Technical Staff at Oracle Labs.
Kevin Brown (Stanford University):
Kevin Brown is a PhD candidate in electrical engineering at Stanford University. His research interests include parallel programming models and heterogeneous compiler and runtime systems for domain-specific languages.
Our publications are collected on the ppl website.
A Heterogeneous Parallel Framework for Domain-Specific Languages
Kevin J. Brown, Arvind K. Sujeeth, HyoukJoong Lee, Tiark Rompf, Hassan Chafi, Martin Odersky, Kunle Olukotun
PACT '11: 20th International Conference on Parallel Architectures and Compilation Techniques, October 2011.
Paper PDF | Slides
OptiML: An Implicitly Parallel Domain-Specific Language for Machine Learning
Green-Marl: A DSL for Easy and Efficient Graph Analysis
Liszt: A Domain Specific Language for Building Portable Mesh-based PDE Solvers