1 of 1

IRIS: A Portable Task Runtime System for Extremely Heterogeneous Computing

A. Cabrera, S. Hitefield, J. Kim, S. Lee, N. R. Miniskar, and J. S. Vetter, Toward Performance Portable Programming for Heterogeneous System-on-Chips: Case Study with Qualcomm Snapdragon SoC, The IEEE High Performance Extreme Computing Conference (HPEC ‘21), 2021.

Scientific Achievement

Developed 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 with data dependencies.

Significance and Impact

Computer architectures are becoming more heterogeneous and complex, which causes a crisis in programming systems and performance portability. IRIS is a more agile and proactive runtime system that supports performance portability, including dynamic resource discovery, online adaptive scheduling, proactive data movement, and support for simultaneous execution of multiple native programming models.

Technical Approach

  • Designed and implemented a new heterogeneous runtime system, called IRIS, which exploits multiple heterogeneous programming systems (e.g., CUDA, Hexagon, HIP, Level Zero, OpenCL, OpenMP) so that a single application can use multiple, heterogeneous types of devices available on the target system.

IRIS Architecture

OpenACC/OpenMP Mapping for Heterogeneous Architectures