--- ---
“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 concentrates on a variety of interesting problems in parallel architecture and programming environments for parallel 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). Within this field we are investigating data structures and algorithms, parallel applications, scalability, parallel architecture, and programming environments/models/abstractions for the GPU.

In solving these problems, I am delighted to work with an amazing and talented group of graduate students (and our terrific postdocs Serban Porumbescu and Matthew Drescher):

in pursuing these goals. Recent graduates from our group include:

I expect a lot from our students and I am delighted when they are recognized for their hard work and talent. For instance, Saman was recently awarded an NVIDIA Graduate Fellowship (2016–17), following the success of Pınar (2011–12), 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. Aaron, Calina, Afton, and Kerry have all won NSF Graduate Research Fellowships. Our students often also spend summers at top research institutes and labs; internships from students in our group have included AMD, Apple, BMW, Disney, Google, HP Labs, Intel, Intel Research, Los Alamos National Laboratory, Microsoft Research, NVIDIA, NVIDIA Research, Pixar, and Weta Digital. 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. And we've collaborated at UC Davis with a variety of other researchers, including Mark Silberstein, Brian Budge and Luke Gosink (both advised by Ken Joy), and Dan Alcantara, advised by Nina Amenta.

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.

In May 2012, I was honored to be named an NVIDIA CUDA Fellow.

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 spent sabbatical from July–December 2012 at Twitter, working on Finagle, which I enjoyed very much, and where I've gained an appreciation for and research interest in big data, datacenters, and functional programming.

I served as papers chair of InPar 2012, which launched in May 2012. I have had a long-standing relationship with 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 2017.

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, an Adobe Digital Marketing Research Award, five NVIDIA Fellowships and an NVIDIA Teaching Fellowship, the Intel Science and Technology Center for Visual Computing and an Intel Ph.D. Fellowship, the Grainger Foundation, a CARE grant with Pat McCormick of Los Alamos National Laboratory, three National Science Foundation Graduate Research Fellowships, 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.