“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). 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:
- Calina Copos
- Yangzihao Wang (王洋子豪)
- Afton Geil
- Jason Mak
- Kerry Seitz (video!)
- Leyuan Wang
- Yuechao Pan
- Vehbi Eşref Bayraktar
- Saman Ashkiani
- Collin McCarthy
- Andy Riffel
- Carl Yang
- Weitang Liu
- Muhammad Osama
- Chenshan Shari Yuan (袁辰山)
- Shalini Venkataraman
- Ahmed H. Mahmoud
in pursuing these goals. Recent graduates from our group include:
- Aaron Lefohn (currently Director of Graphics Research at NVIDIA Research, former research lead for the Advanced Rendering Technology team at Intel after its acquisition of Neoptica)
- Leo Szumel (first employment, Sentilla, currently, Virtual Instruments)
- Adam Moerschell (first employment, AMD, currently, Apple)
- Eric Lengyel (at his company Terathon)
- Everett Phillips (NVIDIA)
- Vladimir Glavtchev (first employment, BMW, currently NVIDIA)
- Shubhabrata (“Shubho”) Sengupta (first employment, Intel Research, then Shazam, now Baidu Research)
- Will Kohut (NVIDIA)
- Yao Zhang (张尧) (first employment, postdoc at the University of Chicago, then postdoc at Argonne National Laboratory, now software engineer at Google)
- Ritesh Patel (Intel Folsom)
- Jeff Stuart (Google Zurich)
- Kshitij Gupta (Aptina)
- Stanley Tzeng (NVIDIA, mobile computational imaging group)
- Anjul Patney (NVIDIA Research)
- Pınar Muyan-Özçelik (assistant professor, computer science, Sacramento State University)
- Edmund Yan, Venmo
- Andrew Davidson, YouTube
- Yuduo Wu (吴雨多), IBM
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. 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.
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 2014.
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.