DATE: Thursday, October 20, 2011
TIME: Noon to 1 pm
Gates 8102 - NOTE ROOM

SPEAKER: Kayvon Fatahalian, CMU

Precariously Clinging to Structure: Questioning the Future Viability of the Real-Time Graphics Pipeline

In recent years we have seen widespread acceptance of high-level parallel programming abstractions that are easy to use, but impose significant constraints on the structure of applications. By exploiting the simplification of known program structure, systems such as MapReduce and CUDA, as well as more domain-specific initiatives (GraphLab for ML, Liszt for meshes, etc.) have demonstrated that heroic compiler technology is unnecessary to enable non-expert programmers to create applications for highly parallel, and increasingly heterogeneous, machines.

Since the specification of OpenGL in 1992, real-time graphics has adopted a similar approach to programming parallel systems. Graphics programming abstractions have evolved over two decades to accommodate new algorithms and exotic machine capabilities, but the fundamental structure of these systems remains unchanged. Today, due to algorithmic advances and high peak GPU compute, a key collection of advanced graphics techniques (ray tracing, global illumination, etc.) will soon be feasible in interactive systems. Unfortunately, these techniques do not align well with the structure imposed by OpenGL graphics pipeline and there are strong calls to discard the abstractions of OpenGL.

This talk will describe a few recent attempts to address this fundamental systems challenge in modern real-time graphics: how do we cater to calls for broader application scope, while maintaining the ease-of-use and high levels of efficiency typical of OpenGL-based systems? Although this talk will be delivered in the context of real-time graphics, similar debates are, or inevitably will soon be, playing out in other compute-intensive application domains.

Kayvon Fatahalian is an Assistant Professor in the Computer Science Department at Carnegie Mellon University. His research focuses on the design of algorithms, programming abstractions, and parallel systems for computer-intensive applications such as interactive computer graphics.

SDI / ISTC Seminar Questions?
Karen Lindenfelser, 86716, or visit