arrow
Return

IRIS: A Performance-Portable Framework for Cross-Platform Heterogeneous Computing

delete2024-10-01
delete1
PRE
AI
J
Jungwon Kim
S
Seyong Lee
B
Beau Johnston
J
Jeffrey S. Vetter *
DOI:10.1109/TPDS.2024.3429010delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
From edge to exascale, computer architectures are becoming more heterogeneous and complex. The systems typically have fat nodes, with multicore CPUs and multiple hardware accelerators such as GPUs, FPGAs, and DSPs. 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 software framework for discovery, execution, scheduling, and data orchestration. To address this challenge, we believe that a more agile and proactive software framework is essential to increase performance portability and improve user productivity. To this end, we have designed and implemented IRIS: a performance-portable framework for cross-platform heterogeneous computing. IRIS can discover available resources, manage multiple diverse programming platforms (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. To simplify data movement, IRIS introduces a shared virtual device memory with relaxed consistency among different heterogeneous devices. IRIS also adds an automatic kernel workload partitioning technique using the polyhedral model so that it can resize kernels for a wide range of devices. 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.
Keywords:
Heterogeneous architectures
runtime systems
compilers
programming models
Heterogeneous architectures
runtime systems
compilers
programming models

Journal

IEEE Transactions on Parallel and Distributed Systems cover
IEEE Transactions on Parallel and Distributed Systems
IF:
6
Papers:
5.2K
Citations:
1.1W

Organization

N
nvidia corporation
Scholars:
767
Papers: 439
Citations: 1
U
united states department of energy (doe)
Scholars:
11.3W
Papers: 9.6W
Citations: 246
Cited Papers

Cited Papers

Rare‐Earth‐Rich Magnesium Compounds RE23Rh7Mg4 (RE = La, Ce, Pr, Nd, Sm, Gd) with Tetrahedral Mg4 Clusters
err2009-02-11
err0
PREAI
errStefan Linsinger; Selcan Tuncel; Wilfried Hermes; Matthias Eul; Bernard Chevalier; Rainer Pöttgen
errShare
errSave
err2000-01-01
err0
PREAI
errT.S. Toellner
errShare
errSave
Optimization Techniques for GPU Programming
err2023-03-16
err26
errOAAI
errHijma, Pieter; Heldens, Stijn; Sclocco, Alessio; van Werkhoven, Ben; Bal, Henri E.
errShare
errSave
Measuring child survival for the Millennium Development Goals in Africa: what have we learned and what more is needed to evaluate the Sustainable Development Goals?
err2020-03-02
err0
errOAAI
errMarie A. Brault; Kasonde Mwinga; Aaron M. Kipp; Stephen B. Kennedy; Margaret Maimbolwa; Precious Moyo; Kenneth Ngure; Connie A. Haley; Sten H. Vermund
errShare
errSave
Effects of disorder in pattern formation
err1993-10-01
err0
PREAI
errWalter Zimmermann; Markus Seesselberg; Francesco Petruccione
errShare
errSave
researcher View more