Research Projects

Massive data are being generated and collected at an unprecedented rate nowadays. Analyzing and learning from data requires substantial computational resources. To keep up with the high computational demand, both computer systems and algorithms are evolving.

Computer systems have become heterogeneous in the past decade, incorporating specialized hardware such as GPUs to improve computing capacity. Unlike a traditional CPU-DRAM system, where the hardware and operating system manage the cache and memory, user programs on a heterogeneous system need to move data across the memory hierarchy explicitly. This significantly increases the programming complexity.

Meanwhile, algorithms become uncertain. Statistical algorithms such as deep learning work with noisy data and inherently have uncertainty. Randomness can also be intentionally added to algorithms to reduce computation costs. This uncertainty creates a tradeoff between accuracy and efficiency, requiring new algorithm designs to achieve the optimal balance.

Our group focuses on developing scalable and intelligent data-intensive systems on emerging heterogeneous hardware. To achieve the goal, we explore research across multiple layers of the system stack, from applications to compilers and hardware.

Sparse Neural Networks

Exploring fine-grained structures in sparse neural networks.

Read more »

Graph Pattern Mining

Accelerating graph pattern mining tasks through algorithm design, program optimization, and exploiting new hardware.

Read more »

Graph-based Machine Learning

GPU acceleration for graph learning workloads such as graph neural networks and knowledge graph embedding.

Read more »

Data Compression

exploring lossy data compression algorithms on AI accelerators.

Read more »