Distinguished Lecture: Domain-specific languages for heterogeneous computer platforms
Hardware is becoming increasingly specialized because of the need for power efficiency. One way to gain efficiency is to use high-throughput processors (e.g. GPUs) optimized for data-parallel applications; these processors deliver more gigaflops per watt than CPUs optimized for single-threaded programs. Typical applications, however, consist of both sequential and parallel code segments. For such applications, the optimal platform will use heterogenous combinations of different types of processing elements. Nowadays in high-performance computing, it is common to create hybrid systems consisting of multi-core CPUs and many-core GPUs combined into both shared memory multiprocessors and clusters connected by networks.
The challenge is that the computing model has also become more complicated. A program for a cluster uses MPI, a program for an SMP uses threads and locks, and a program for a GPU uses a data-parallel programming model such as CUDA. Programs written for one class of machine will not run efficiently on another class of machines.
Our thesis is that the only practical method for writing programs for such heterogeneous machines is to raise the level of the programming model. In particular, we advocate the use of domain-specific languages (DSLs). In this talk I will present the case for using DSLs, our work designing and implementing Liszt (a DSL for solving PDEs on meshes), and R (a widely used DSL for statistics and data analysis).
This work is funded by the Stanford DOE PSAAP Center and the Pervasive Parallelism Laboratory.
Pat Hanrahan is the CANON Professor of Computer Science and Electrical Engineering at Stanford University where he teaches computer graphics. His current research involves visualization, image synthesis, and graphics systems and architectures. Before joining Stanford he was a faculty member at Princeton.
Pat has also worked at Pixar where he developed developed volume rendering software and was the chief architect of the RenderMan(TM) Interface - a protocol that allows modeling programs to describe scenes to high quality rendering programs. In addition to PIXAR, he has founded two companies, Tableau and PeakStream, and served on the technical advisory boards of NVIDIA, Exluna, Neoptica, VSee, Procedural and Skytree.
Professor Hanrahan has received three university teaching awards. He has received two Academy Awards for Science and Technology, the Spirit of America Creativity Award, the SIGGRAPH Computer Graphics Achievement Award, the SIGGRAPH Stephen A. Coons Award, and the IEEE Visualization Career Award. He is a member of the National Academy of Engineering and the American Academy of Arts and Sciences.