event

PhD Defense by Ruobing Han

Primary tabs

Title: Compiler-Runtime Co-Design for Performance-Portable GPU Programming on CPUs

Date: Tuesday, April 22, 2025

Time: 9:00 AM - 11:00 AM EDT

Location:

 

 

Ruobing Han

Ph.D. Candidate

School of Computer Science

College of Computing

Georgia Institute of Technology

 

Committee:

Dr. Hyesoon Kim (advisor), School of Computer Science, Georgia Institute of Technology

Dr. Santosh Pande, School of Computer Science, Georgia Institute of Technology

Dr. Yingyan (Celine) Lin, School of Computer Science, Georgia Institute of Technology

Dr. Richard (Rich) Vuduc, School of Computational Science and Engineering, Georgia Institute of Technology

Dr. Jaewoong Sim, Department of Electrical and Computer Engineering, Seoul National University

Dr. Zongwei Zhou, Google Cloud, Google

 

Abstract

Most commercial and research data centers are CPU-GPU heterogeneous systems, offering both CPUs and GPUs to users. As a great number of advanced AI and HPC applications are implemented for GPUs, CPUs—despite providing substantial computational resources—are consistently underutilized. It is common for users to wait hours for GPUs to become available, even as many CPUs remain idle. This raises an important question: can CPUs be effectively utilized to run GPU applications?

To address the challenge of GPU-to-CPU migration, my dissertation focuses on two key aspects: coverage and performance. First, I introduce two projects, COX and CuPBoP, which provide broad support for correctly migrating various existing GPU programs to CPUs. We implement frameworks based on compiler and runtime co-design that support executing off-the-shelf GPU programs on CPUs without requiring manual pre- or post-processing. Compared to existing solutions, our frameworks achieve the highest coverage.

Second, I present a project that significantly enhances a single CPU’s ability to execute transformed GPU programs. We summarize the challenges of executing transformed GPU programs on CPUs and propose four compiler and runtime optimizations accordingly. Lastly, I introduce CuCC, a framework that extends CPU migration to distributed nodes, enabling the execution of GPU programs on CPU clusters. CuCC is the first solution to support GPU-to-CPU-cluster migration.

Status

  • Workflow Status:Published
  • Created By:Tatianna Richardson
  • Created:04/09/2025
  • Modified By:Tatianna Richardson
  • Modified:04/09/2025

Categories

Keywords

Target Audience