Unified Programming Environment for Multiple Accelerator Types with Programming, Performance and Compiler Portability

Unified Programming Environment for Multiple Accelerator Types with Programming, Performance and Compiler Portability

Monday, May 13, 2024 3:00 PM to Wednesday, May 15, 2024 4:00 PM · 2 days 1 hr. (Europe/Berlin)
Foyer D-G - 2nd floor
Research Poster
Compiler and Tools for Parallel ProgrammingRuntime Systems for HPC

Information

Poster is on display and will be presented at the poster pitch session.
Ensuring performance portability across a range of accelerator architectures presents a significant challenge when developing application and programming systems for high-performance computing (HPC) environments. This challenge becomes even more pronounced within computing nodes that incorporate multiple accelerator types. Each of these accelerators is distinguished by its specific performance attributes, optimal data layouts, programming interfaces, and program binaries. Navigating the complexity of multi-accelerator programming has motivated us to create the CHARM (Cooperative Heterogeneous Acceleration with Reconfigurable Multidevices) framework, which transparently selects the suitable computations for each accelerator in a given HPC system. CHARM-SYCL [1] is a unified programming environment based on the concept for multiple accelerator types to attach the diversity problem in HPC systems. We can use SYCL as the single programming environment and create portable applications that are compatible with many accelerator types in a single executable binary file. The CHARM-SYCL runtime uses the IRIS framework [2] as a backend for accelerators. It is a task-based runtime system developed at ORNL to support multiple accelerator types. IRIS uniformly supports many accelerators and has an internal scheduler to dynamically distribute compute tasks to multiple devices according to the scheduling policy specified by the application. Our goal is realizing the portability of the accelerator programming environment. We aim for three types of probabilities: programming portability, performance portability, compiler portability. In this poster, we will demonstrate the unification and portability for multiple accelerator types of our proposed programming environment.
Contributors:
Format
On-site