Abstract
Across embedded, mobile, enterprise, and high performance computing systems, computer architectures are becoming more heterogeneous and complex. This complexity is causing a crisis in programming systems and performance portability. Several programming systems are working to address these challenges, but the increasing architectural diversity is forcing software stacks and applications to be specialized for each architecture. As we show, all of these approaches critically depend on their runtime system for discovery, execution, scheduling, and data orchestration. To address this challenge, we believe that a more agile and proactive runtime system is essential to increase performance portability and improve user productivity. To this end, we have designed and implemented IRIS: A portable runtime system exploiting multiple heterogeneous programming systems. IRIS can discover available resources, manage multiple diverse programming systems (e.g., CUDA, Hexagon, HIP, Level Zero, OpenCL, OpenMP) simultaneously in the same execution, respect data dependencies, orchestrate data movement proactively, and provide for user-configurable scheduling. Our evaluation on three architectures, ranging from Qualcomm Snapdragon to a Summit supercomputer node, shows that IRIS improves portability across a wide range of diverse heterogeneous architectures with negligible overhead.
Original language | English |
---|---|
Title of host publication | 2021 IEEE High Performance Extreme Computing Conference, HPEC 2021 |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
ISBN (Electronic) | 9781665423694 |
DOIs | |
State | Published - 2021 |
Event | 2021 IEEE High Performance Extreme Computing Conference, HPEC 2021 - Virtual, Online, United States Duration: Sep 20 2021 → Sep 24 2021 |
Publication series
Name | 2021 IEEE High Performance Extreme Computing Conference, HPEC 2021 |
---|
Conference
Conference | 2021 IEEE High Performance Extreme Computing Conference, HPEC 2021 |
---|---|
Country/Territory | United States |
City | Virtual, Online |
Period | 09/20/21 → 09/24/21 |
Funding
ACKNOWLEDGMENT This research used resources of the Experimental Computing Laboratory and the Oak Ridge Leadership Computing Facility at Oak Ridge National Laboratory, which are supported by the US Department of Energy’s Office of Science of under contract no. DE-AC05-00OR22725. Notice: This manuscript has been authored by UT-Battelle, LLC, under contract DE-AC05-00OR22725 with the US Department of Energy (DOE). The US government retains and the publisher, by accepting the article for publication, acknowledges that the US government retains a nonexclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this manuscript, or allow others to do so, for US government purposes. DOE will provide public access to these results of federally sponsored research in accordance with the DOE Public Access Plan (http://energy.gov/downloads/doe-public-access-plan). This research was supported by (1) the Defense Advanced Research Projects Agency’s Microsystems Technology Office, Domain-Specific System-on-Chip Program and (2) the US Department of Defense, Brisbane: Productive Programming Systems in the Era of Extremely Heterogeneous and Ephemeral Computer Architectures.
Keywords
- compilers
- heterogeneous architectures
- runtime systems