Domain-Specific Languages for Heterogeneous Computer Platforms

Colloq: Speaker: 
Dr. Pat Hanrahan
Colloq: Speaker Institution: 
Colloq: Date and Time: 
Thu, 2011-02-24 14:00
Colloq: Location: 
5100, Room 128 JICS Lecture Hall
Colloq: Host: 
Jeffrey Vetter
Colloq: Host Email:
Colloq: Abstract: 
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 heterogeneous 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 our view of the programming environment needed to create DSLs and to map them to different platforms.
Colloq: Speaker Bio: 
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, virtual worlds, and graphics systems and architectures. Before joining Stanford he was a faculty member at Princeton. Pat has also worked at Pixar where he 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, and Procedural. 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 was recently elected to the National Academy of Engineering and the American Academy of Arts and Sciences.