Skip to main content
SHARE
Publication

IRIS: A Portable Runtime System Exploiting Multiple Heterogeneous Programming Systems...

by Jungwon Kim, Seyong Lee, Beau E Johnston, Jeffrey S Vetter
Publication Type
Conference Paper
Book Title
Proceedings of the 25th IEEE High Performance Extreme Computing Conference (HPEC)
Publication Date
Page Numbers
1 to 8
Conference Name
IEEE Conference on High Performance Extreme Computing (HPEC)
Conference Location
Virtual, Massachusetts, United States of America
Conference Sponsor
IEEE
Conference Date
-

Across embedded, mobile, enterprise, and HPC 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 specialize 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. In this regard, 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.