Current projects

Title Description Faculty
A Multi-Paradigm Programming Infrastructure for Heterogeneous Architectures

Heterogeneous computing with extensive use of accelerators, such as FPGAs and GPUs, has shown great promise to bring in orders of magnitude improvement in computing efficiency for a wide range of applications. The latest advances in industry have led to highly integrated heterogeneous hardware platforms, such as the CPU+FPGA multi-chip packages by Intel and the GPU and FPGA enabled AWS cloud by Amazon. However, although these heterogeneous hardware computing platforms are becoming widely available to the industry, they are very difficult to program especially with FPGAs. The use of such...

Jason Cong
Acceleration of Deep Learning for Cloud and Edge Computing

In this project, we explore efficient algorithms and architectures for state-of-the-art deep learning based applications. The first work, Caffeine, offers a uniformed framework to accelerate the full stack of convolutional neural networks (CNN), including both convolutional layers and fully-connected layers. Following the first work, we further explore the efficient microarchitecture for implementing the computation-intensive kernels in CNN. A special architecture, systolic array, which consists of processing elements (PEs) with local interconnects, are thoroughly studied....

Jason Cong
Customizable Domain-Specific Computing

To meet ever-increasing computing needs and overcome power density limitations, the computing industry has entered theera of parallelization, with tens to hundreds of computing cores integrated into a single processor; and hundreds to thousands of computing servers connected in warehouse-scale data centers. However, such highly parallel, general-purposecomputing systems still face serious challenges in terms of performance, energy, heat dissipation, space, and cost. In this project we look beyond...

Jason Cong
Customized Computing for Precision Medicine

Many applications in precision medicine present significant computational challenges.  For example, the computation demand for personalized cancer treatment is prohibitively high for the general-purpose computing technologies, as tumor heterogeneity requires great sequencing depths, structural aberrations are difficult to detect with today’s algorithms, and the tumor has the ability to evolve, meaning the same tumor might be assayed a great many times during the course of treatment.  The goal of this research project is to make apply the domain-specific customized computing...

Jason Cong
Customized Computing for Understanding the Brain and Brain-Inspired Computing

Recent work from this project got the Best Paper Award in ISLPED'18.

Moore’s law has driven the exponential growth of information technology for more than 50 years, during which the ever-increased computing power has had a huge impact on people’s lives. AI algorithms such as reinforcement learning can help super powerful computers beat humans in specific task like board gaming. However, computing machines based on state-of-the-art software, hardware and manufacturing technology still...

Jason Cong
Near Data Computing

In the Big Data era, the volume of data is exploding, putting forward a new challenge to the existing computer system. Traditionally, the computer system is designed to be computing-centric, in which the data from IO devices are transferred and then processed by the CPU. However, the data movement is proved to be very expensive which can no longer be ignored at the Big Data era. To meet the ever-increasing performance need, we expect the computer system to be redesigned in the data-centric fashion. Different computing engines are deployed in different storage hierachies, including cache,...

Jason Cong
System Level Design Automation

With the increasing of the system complexity, the needs of system level design automation becomes more and more urgent. The maturity of high-level synthesis pushes the desgin abstraction from register-transfer level (RTL) to software programming language like C/C++. However, the state-of-art high-level synthesis tools mainly focus on the module-level optimization and implementation such as the scheduling and binding of operators and controls in a certain C/C++ function. System-level optimizations such as module selection and duplication, communication and memory optimization and system...

Jason Cong