Assistant Professor


Department of Computer Science and Engineering


University of California, Riverside



Office: Winston Chung Hall 335




I will be teaching CS 218: Design and Analysis of Algorithms in Spring 2021.


I'm looking for self-motivated students. If you are interested in working with me, or want me to write you a letter, please read this first.



I am an Assistant Professor at the University of California, Riverside (UCR) from Jan. 2020.



I was a postdoc associate at MIT CSAIL in 2019, working with Julian Shun. Before that, I finished my PhD at Carnegie Mellon University, advised by Guy Blelloch. Prior to that, I received my Bachelor degree in Computer Science at Tsinghua University in 2012. My personal webpages are also available on [dblp] and [Google Scholar]. You can find my [CV] here.




My current research interest is design efficient (usually parallel) algorithms for large-scale data with good performance in practice.



This is the link to my lovely wife's homepage.


Ph.D. Thesis

Selected Publications


Papers on this page are categorized in different topics. Paper list in reverse chronological order can be found here.


Algorithm papers


Parallel Algorithms


These papers developed efficient parallel algorithms for fundamental problems or parallel primitives (e.g. sorting, shortest-paths, convex hull, Delauney triangulation, SCC, random permutation, list/tree contraction). All of these new algorithms are highly practical, and with better or matching bounds comparing to previous theoretical approaches.

Algorithms for New Architecture


These papers tried to understand and develop efficient algorithms for emerging computer architecture. This includes modified computational models, new algorithms, new techniques to support efficient computation, etc.

Miscellaneous Topics


This is a random sample of topics that I occasionally looked into. They are standard sequential algorithms with the goal to minimize the time complexity.


Graphics papers


I spent most of my time from 2010 to 2014 on computer graphics research (most of the algorithm papers are done starting from 2015).


BVH Construction


These papers discussed some interesting algorithmic improvements either to accelerate the construction or to improve the quality of the bounding volume hierarchy, which is one of the most commonly-used data structure in computer graphics. All these papers improved the state-of-the-art (or at publish time) techniques much.

Miscellaneous Topics


This is another random sample of the topics I worked on during my undergrad and guaduate time, including works on geometry modeling and processing, image processing, and architectual and compiling considerations on GPU rendering.




You can find my collaborators with the following links.

Naama Ben-David, Guy E. Blelloch, Danny Z. Chen, Laxman Dhulipala, Kayvon Fatahalian, Jeremy T. Fineman, Phillip B. Gibbons, Yong He, Shi-Min Hu, Tao Ju, Jian Li, Xian-Ying Li, Ralph R. Martin, Charles McGuffey, Julian Shun, Yihan Sun, Kanat Tangwongsan, Haitao Wang, Yiqiu Wang.




CS 218: Design and Analysis of Algorithms (Spring 2021)

CS 142: Algorithms Engineering (Winter 2021)

CS 141: Intermediate Data Structures and Algorithms (Fall 2020)

CS 260: Algorithm Engineering (aka. How to Write Fast Code) (Spring 2020)





Publicity chair of ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), 2019-present

Program Committee:

Reviewer of SPAA, SODA, STOC, ICALP, ESA, IPDPS, Euro-Par, ALENEX, SIGMETRIC, APOCS, HiPC, CANDAR, SIGGRAPH, Eurographics, Pacific Graphics, FUN with Algorithms.

Reviewer of ACM Transaction on Parallel Computing (TOPC), Parallel Processing Letters (PPL), Transactions on Knowledge and Data Engineering (TKDE), International Journal of Parallel Programming, PeerJ Computer Science, Journal of Experimental Algorithmics, Information Processing Letters, TVCG (IEEE Transactions on Visualization and Computer Graphics), CAG (Computers & Graphics), JCGT (Journal of Computer Graphics Techniques), the Visual Computer, JOCO (Journal of Combinatorial Optimization), Transactions on Computers, Astronomy and Computing.

Teaching assistant for 15-418/618: Parallel Computer Architecture and Programming (Summer 17).

Teaching assistant for 15-853: Algorithms in the "Real World" (Fall 15).

Teaching assistant for 15-295: Competition Programming and Problem Solving(Fall 13, Spring 14, Fall 14, Spring 15), co-coach for CMU ACM/ICPC team in 2013-2015.



Page view since Sep 23, 2018.


Flag Counter