Hercules: A compiler for productive programming of heterogeneous systems
Arbore, Russel
Loading…
Permalink
https://hdl.handle.net/2142/129206
Description
Title
Hercules: A compiler for productive programming of heterogeneous systems
Author(s)
Arbore, Russel
Issue Date
2025-04-16
Director of Research (if dissertation) or Advisor (if thesis)
Adve, Vikram
Department of Study
Siebel School Comp & Data Sci
Discipline
Computer Science
Degree Granting Institution
University of Illinois Urbana-Champaign
Degree Name
M.S.
Degree Level
Thesis
Keyword(s)
compilers
heterogeneous systems
Language
eng
Abstract
Modern computing systems increasingly rely on composing heterogeneous devices to improve performance and efficiency. Programming these systems is often unproductive: algorithm implementations must be coupled to system-specific logic, including device-specific optimizations, partitioning, and inter-device communication and synchronization, which requires developing different programs for different system configurations. We propose the Juno language, which represents general purpose applications in an imperative form that can be transformed into parallel, optimized, system-specific code using an expressive and granular imperative scheduling language. We also introduce the Hercules compiler, which uses a novel intermediate representation to represent general and device-specific parallel code in a manner that is easy to analyze and manipulate using schedules. Our system achieves competitive performance with hand-optimized device-specific code (geomean speedups of 1.25x and 1.48x on the CPU and GPU) and significantly outperforms a prior general purpose heterogeneous programming system (geomean speedups of 9.31x and 16.18x on the CPU and GPU).
Use this login method if you
don't
have an
@illinois.edu
email address.
(Oops, I do have one)
IDEALS migrated to a new platform on June 23, 2022. If you created
your account prior to this date, you will have to reset your password
using the forgot-password link below.