John Owens

John Owens


(530) 754-4289


Ph.D. in Electrical Engineering, Stanford University, Stanford, California, 2003
M.S. in Electrical Engineering, Stanford University, Stanford, California, 1997
B.S. in Electrical Engineering and Computer Sciences, Highest Honors, University of California, Berkeley, California, 1995

Professional Experience

Professor, University of California, Davis, Electrical & Computer Engineering, 2014-Present
Associate Professor, University of California, Davis, Electrical & Computer Engineering, 2008-2014
Assistant Professor, University of California, Davis, Electrical & Computer Engineering, 2003-2008


Institute of Data Analysis and Visualization
SciDAC Institute for Ultra-Scale Visualization
Visiting Scientist, Los Alamos National Laboratory
Visiting Scientist, Lawrence Berkeley National Laboratory
Graduate Groups in Electrical & Computer Engineering, Computer Science, and Applied Mathematics

Research Interests

Parallel computing: fundamental algorithms, data structures, and programming models for data-parallel processors and particularly the graphics processor (GPUs); data-parallel and GPU computing; graphics hardware; general-purpose programmability of graphics hardware (GPGPU).

Research Activities

My research group investigates parallel computing systems, recently concentrating on the use of the graphics processing unit (GPU) as a general-purpose processor. GPUs can potentially deliver substantially greater performance on a broad range of problems than their CPU counterparts, but effectively mapping problems to a parallel programming model with an immature programming environment is a significant and important research problem. As the computing industry moves to parallel hardware and software, the lessons learned from the GPU, the first commodity parallel processor, are even more important. The lessons learned from our field of "general-purpose computation on the GPU" (GPGPU) (also called "GPU computing") have had a substantial and growing impact on mainstream computing. We are primarily interested in the intersection between hardware and software: how to build software that best utilizes the hardware, how to build hardware that will be programmable and a good target for software, and how to characterize a programming model that connects the two.


NVIDIA CUDA Fellow 2012
ECE Graduate Student Association Award for Graduate Teaching and Mentorship 2009
Best Paper, Graphics Hardware 2007
NVIDIA Faculty Teaching Fellowship, 2006
Department of Energy Early Career Principal Investigator Award, 2004

Selected Publications

Jeff A. Stuart and John D. Owens. Multi-GPU MapReduce on GPU Clusters. In Proceedings of the 25th IEEE International Parallel and Distributed Processing Symposium, pages 1068-1079, May 2011. Pub Link

Dan A. Alcantara, Andrei Sharf, Fatemeh Abbasinejad, Shubhabrata Sengupta, Michael Mitzenmacher, John D. Owens, and Nina Amenta. Real-Time Parallel Hashing on the GPU. ACM Transactions on Graphics, 28(5):154:1-154:9, December 2009. Pub Link

John D. Owens, Mike Houston, David Luebke, Simon Green, John E. Stone, and James C. Phillips. GPU Computing. Proceedings of the IEEE, 96(5):879-899, May 2008. Pub Link

Shubhabrata Sengupta, Mark Harris, Yao Zhang, and John D. Owens. Scan Primitives for GPU Computing. In Graphics Hardware 2007, pages 97-106, August 2007. Best Paper Award. Pub Link

John D. Owens, David Luebke, Naga Govindaraju, Mark Harris, Jens Krüger, Aaron E. Lefohn, and Tim Purcell. A Survey of General-Purpose Computation on Graphics Hardware. Computer Graphics Forum, 26(1):80-113, March 2007. Pub Link

Aaron E. Lefohn, Joe Kniss, Robert Strzodka, Shubhabrata Sengupta, and John D. Owens. Glift: Generic, Efficient, Random-Access GPU Data Structures. ACM Transactions on Graphics, 25(1):60-99, January 2006. Pub Link

All publications can be found at