Skip to main content

Ritchie Zhao

PhD Candidate


I am a PhD Candiate in Electrical and Computer Engineering at Cornell University advised by Professor Zhiru Zhang. I’m part of the Computer Systems Lab (CSL) at Cornell.

I started my PhD doing research on algorithms for FPGA high-level synthesis, working to improve HLS design quality without additional manual effort. More recently, my work has focused on hardware specialization for deep neural networks and redesigning DNN algorithms to better suit emerging hardware architectures.

I received my Bachelors in Electrical and Computer Engineering from University of Toronto in 2014. During my undergrad, I interned at Altera (now part of Intel) in the timing modeling team, as well as at IBM working on compilers for heterogeneous systems. During my grad career, I’ve interned twice at Microsoft Research in Redmond, working with Daniel Lo and Eric Chung on neural network quantization for the Brainwave project.

My Resume/CV


  • Computer Architecture
  • Digital FPGA Design
  • High-Level Synthesis
  • Machine Learning


  • PhD in Electrical and Computer Engineering

    Cornell University

  • B.S. in Electrical and Computer Engineering, 2014

    University of Toronto

Selected Publications

More Publications

  • , , , ,
    Improving Neural Network Quantization without Retraining using Outlier Channel Splitting, International Conference on Machine Learning (ICML).

    Details arXiv PDF Slides Code

  • , , , ,
    Building Efficient Deep Neural Networks with Unitary Group Convolutions, Computer Vision and Pattern Recognition (CVPR).

    Details arXiv PDF

  • , , , , , , ,
    Accelerating Binarized Convolutional Neural Networks with Software-Programmable FPGAs, Int’l Symp. On Field-Programmable Gate Arrays (FPGA).

    Details DOI PDF Code

  • , , , ,
    Improving High-Level Synthesis with Decoupled Data Structure Optimization, Design Automation Conference (DAC).

    Details DOI PDF Slides

  • , , ,
    Area-Efficient Pipelining for FPGA-Targeted High-Level Synthesis, Design Automation Conference (DAC).

    Details DOI PDF Slides

Recent Posts

Being a non-expert vim user, I like to use the Ctrl + Arrow Keys to navigate over words. However, this seems to break when using vim inside tmux. The simplest fix I could find is to add the following lines to .tmux.conf:

set-option -g default-terminal "xterm-256color"
set-window-option -g xterm-keys on



  • Rhodes Hall 417F, Cornell University. Ithaca, NY 14850, USA