I am a Computer
Science Ph.D. candidate at UC Davis. My
advisor is Prof. John
Owens. My main research interests are 1) structure of
parallelism and locality in irregular algorithms such as graph
algorithms on GPU; 2) exascale computing and data analysis using
Multi-GPUs. I also have broad interests on all kinds of GPU computing
topics as well as computer graphics, vision, and machine learning topics.
My current project on large-scale graph processing using the GPU is funded by DARPA's
XDATA grant. In 2012, I did my summer internship at AMD
Research on OpenCL rasterizer. In 2013 and 2014, I did my summer internship at DARPA XDATA Lab working on large-scale data analysis and graph processing.
Before coming to UC
Davis, I received my B.E. degree in Computer Science and M.E. degree in
Software Engineering both from Beijing
University of Aeronautics and Astronautics. During my Master
years, I worked on several projects on water simulation, collision
detection, and distributed rendering system.
Zhua: A forum crawler using Python Scrapy. My first practical Python project so far. Made with love for my lovely wife on her research topic which focuses on using data analysis and communication theory to help depressed patients. Source code can be found on github.
ECS224: String Algorithms The class focuses on the algorithmic efficiency and combinatorial structure of string algorithms, perticularly based on suffix arrays and trees. For the course project, I implemented the skew algorithm for linear suffix array construction on the GPU. It is integrated into CUDPP 2.2 by my labmate Leyuan.
ECS277: Advanced Visualization The course is focused on broad visualization applications and the algorithms behind them such as raycasting, scattered data interpolation and voronoi graph. For the course project I implemented a D3D volume renderer, a scattered data visualizer and a 2D voronoi graph constructor. You can view some of the results here.
CS348b: Image Synthesis I took this Stanford course online. The course covers a broad overview of the theory and practice of rendering. I implemented the core of a motion-blur reyes renderer, a camera model inside PBRT and an auto-focus algorithm along the way. Here are some pictures I rendered.
Other courses I took include: ECS231: Large Scale Scientific Computing (final_report), ECS251: Operating System, ECS223: Parallel Algorithms, ECS222A: Algorithm Analysis, and ECS289K: Computational Methods in Systems and Synthetic Biology.