Back to results

University of Illinois Urbana-Champaign

Hercules: A compiler for productive programming of heterogeneous systems

Abstract

dc:description

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).

Degree

thesis:*
Name thesis:degree_name
M.S.
Level thesis:degree_level
Thesis
Discipline thesis:degree_discipline
Computer Science
Grantor
University of Illinois Urbana-Champaign
Year dc:date
2025

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Arbore, Russel
Contributors dc:contributor
  • Adve, Vikram

Subjects

dc:subject × 2

Rights

dc:rights
Statement dc:rights
  • Copyright 2025 Russel Arbore
Language dc:language
en, eng

Identifiers

dc:identifier.*
Handle dc:identifier
https://hdl.handle.net/2142/129206

Chain of custody

source
Harvested from
University of Illinois - Urbana-Champaign
Base URL
www.ideals.illinois.edu/oai-pmh
Last updated
2026-07-22
Source record
OAI-PMH GetRecord
citation

Arbore, Russel. Hercules: A compiler for productive programming of heterogeneous systems. Thesis thesis, University of Illinois Urbana-Champaign, 2025. https://hdl.handle.net/2142/129206