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

Date: Thursday, October 17, 2024

Time: 3:00 PM – 5:00 PM EST

Location (Hybrid): Klaus 1212 and Microsoft teams (link)

Ruobing Han

Ph.D. Student

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

Abstract:

With the rapid development of Artificial Intelligence (AI) and High-Performance Computing (HPC), there is an enormous demand for computational resources. To meet this demand, most commercial and research data centers are CPU-GPU heterogeneous systems, providing both CPUs and GPUs to users.

While most AI and HPC applications are implemented for GPUs, CPUs, despite offering substantial computational resources, are consistently underutilized in these heterogeneous systems. It is common for users to wait hours for GPU devices to become available, even though 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 presentation focuses on two key aspects. First, I introduce two projects, COX and CuPBoP, which provide broad support to migrate various existing GPU programs to CPUs correctly. Second, I present a project aimed at improving CPU performance when executing programs transformed from GPU applications, significantly enhancing the ability of a single CPU to execute such programs. Lastly, I discuss a recent project that scales CPU migration to distributed nodes, enabling the execution of GPU programs across multiple CPU nodes.