“They say great science is built on the shoulders of giants—not here. At Aperture we do all our science from scratch; no hand holding.” —Cave Johnson
Our research group is affiliated with the Institute of Data Analysis and Visualization and concentrates on a variety of interesting problems in graphics architecture and programming environments for graphics hardware. The large problem in which we are most interested is how to build parallel systems that are both high-performance and programmable. Recently, we have been particularly interested in the use of graphics hardware for general-purpose computation (GPGPU, also known as GPU computing). I am the lead author on a comprehensive survey of GPGPU, which appeared in Computer Graphics Forum in 2007 (a revision of our 2005 GPGPU survey), and a more recent article on GPU Computing. Within this field we are investigating graphics architecture, programming environments, models, and abstractions for the GPU, compilers and their suitability for graphics hardware, and applications.
In solving these problems, I am delighted to work with an amazing and talented group of graduate students, Yao Zhang (张尧), Pınar Muyan-Özçelik, Jeff Stuart, Kshitij Gupta, Anjul Patney, Andrew Davidson, Stanley Tzeng, Ritesh Patel, Calina Copos, Yangzihao Wang, Afton Geil, and Jason Mak in pursuing these goals. Mark Silberstein and Andrew joined us in summer 2007 as visiting students, and I've also had the pleasure of collaborating with Brian Budge and Luke Gosink, both advised by Ken Joy, and Dan Alcantara, advised by Nina Amenta. Recent graduates from our group include Aaron Lefohn (currently at Intel after its acquisition of Neoptica); Andy Riffel, (Intel); Leo Szumel (first employment, Sentilla, currently, Virtual Instruments); Adam Moerschell (AMD); Eric Lengyel (at his company Terathon); Everett Phillips (NVIDIA); Vladimir Glavtchev (BMW); Shubhabrata (“Shubho”) Sengupta (Intel Research); and Will Kohut (NVIDIA). I expect a lot from our students and I am delighted when they are recognized for their hard work and talent. For instance, Pınar was recently awarded an NVIDIA Graduate Fellowship, following the success of Anjul (a 2-time winner in 2009–10 and 2010–11) and Shubho, who won in 2007–8 and 2008–9. Anjul won an Intel Graduate Fellowship (announcement) in 2011–12; Pınar was also a finalist in 2009 for the Google Anita Borg Scholarship. Shubho won the CS department's 2008 Best Graduate Researcher Award, and Aaron Lefohn's dissertation was named the “Best Doctoral Dissertation” of 2006 by the Computer Science Department. Our students often also spend summers at top research institutes and labs; recent summer internships from students in our group include Apple, BMW, Disney, Google, HP Labs, Intel, Intel Research, Los Alamos National Laboratory, Microsoft Research, NVIDIA, NVIDIA Research, and Pixar. And, occasionally, the diverse background of our group lets us contribute to interesting venues like the New York Times football blog.
My students often enjoy collaborations with other researchers (Jeff Stuart's research trips to Chile and Saudi Arabia resulted in a recent one). We've also recently (since 2008) worked with colleagues at Harvard, Berkeley, North Carolina State, the Technion, Sandia National Labs, NVIDIA, BMW, Hewlett Packard, Lawrence Berkeley Lab, Argonne National Lab, and the University of Florida.
As part of the UC Davis Institute for Data Analysis and Visualization and the Department of Energy SciDAC Institute for Ultra-Scale Visualization (headquartered at UC Davis), we are investigating how to build programming abstractions for GPUs and how to extend those abstractions onto large clusters of hybrid CPU-GPU machines.
One of our major research efforts is investigating fundamental algorithms and data structures on graphics hardware. One piece of recent work concentrates on a parallel primitive called scan. With Mark Harris of NVIDIA, we have shown both efficient implementations of scan and segmented scan on the GPU as well as a set of fundamental primitives that run atop scan. This work is available as open-source software (a modified BSD license) as the CUDPP (CUDA Data Parallel Primitives) library.
As of January 2011, our group is part of the Intel Science and Technology Center for Visual Computing, a $2.5M / 5-year collaboration between Intel and 8 universities, including UC Davis. I am leading UC Davis's involvement in the STC as well as the “Graphics Systems” theme within the center. (ISTC home, press release) There's been a big pile of media as a result, including a Youtube video and two Future Lab (1, 2) radio programs. I recently gave a talk at MIT that discussed some of our recent research.
I am papers chair of InPar 2012, with papers due in December. Please submit! I am also on the organizing committee of High Performance Graphics, which I chaired with Matt Pharr in August 2011. HPG was preceded by the SIGGRAPH/Eurographics Graphics Hardware conference, where I previously served as papers and publicity chair.
My graduate class on graphics hardware, EEC 277: Graphics Architecture, addresses many of the interesting problems we find in our research. Thus far the course has been well-received and has many interesting guest speakers. It is taught in the winter quarter each year, including winter 2012.
If you are a Davis student or admit and interested in computer systems research, in particular the projects above, please drop me a line.
Our work is supported by the SciDAC Institute for Ultra-Scale Visualization, a Department of Energy Early Career Principal Investigator Award, the National Science Foundation, four NVIDIA Fellowships and an NVIDIA Teaching Fellowship, a CARE grant with Pat McCormick of Los Alamos National Laboratory, a National Science Foundation Graduate Research Fellowship, generous industrial gifts and grants from Lockheed-Martin, Chevron (with matching funds from UC MICRO), NVIDIA, BMW, Intel, Rambus, Microsoft, and UC Davis startup funds. We also greatly appreciate the hardware donations and the invaluable developer contacts from NVIDIA, AMD, and Intel.
