Table of Contents
Fetching ...

Toward Heterogeneous, Distributed, and Energy-Efficient Computing with SYCL

Biagio Cosenza, Lorenzo Carpentieri, Kaijie Fan, Marco D'Antonio, Peter Thoman, Philip Salzmann

TL;DR

The paper addresses the challenge of programming modern heterogeneous HPC systems by leveraging SYCL, a C++-based standard, to improve productivity and portability. It introduces two extensions—Celerity for distributed computing and SYnergy for energy-aware computing—that build on SYCL semantics (e.g., queues, accessors) to support cluster-scale execution and energy optimization, respectively, illustrated through SAXPY-like kernels and API usage. The key contributions are the design and integration of a distributed range mapper for data/data movement across nodes and an energy-scaling/profiling interface that interoperates with vendor backends to minimize the Energy-Delay Product ($EDP$). The work demonstrates that extending SYCL can yield practical, scalable, and energy-conscious HPC software, with future directions toward approximate computing and AI workloads.

Abstract

Programming modern high-performance computing systems is challenging due to the need to efficiently program GPUs and accelerators and to handle data movement between nodes. The C++ language has been continuously enhanced in recent years with features that greatly increase productivity. In particular, the C++-based SYCL standard provides a powerful programming model for heterogeneous systems that can target a wide range of devices, including multicore CPUs, GPUs, FPGAs, and accelerators, while providing high-level abstractions. This presentation introduces our research efforts to design a SYCL-based high-level programming interface that provides advanced techniques such as task distribution and energy optimization. The key insight is that SYCL semantics can be easily extended to provide advanced features for easy integration into existing SYCL programs. In particular, we will highlight two SYCL extensions that are designed to deal with workload distribution on accelerator clusters (Celerity) and with energy-efficient computing (SYnergy).

Toward Heterogeneous, Distributed, and Energy-Efficient Computing with SYCL

TL;DR

The paper addresses the challenge of programming modern heterogeneous HPC systems by leveraging SYCL, a C++-based standard, to improve productivity and portability. It introduces two extensions—Celerity for distributed computing and SYnergy for energy-aware computing—that build on SYCL semantics (e.g., queues, accessors) to support cluster-scale execution and energy optimization, respectively, illustrated through SAXPY-like kernels and API usage. The key contributions are the design and integration of a distributed range mapper for data/data movement across nodes and an energy-scaling/profiling interface that interoperates with vendor backends to minimize the Energy-Delay Product (). The work demonstrates that extending SYCL can yield practical, scalable, and energy-conscious HPC software, with future directions toward approximate computing and AI workloads.

Abstract

Programming modern high-performance computing systems is challenging due to the need to efficiently program GPUs and accelerators and to handle data movement between nodes. The C++ language has been continuously enhanced in recent years with features that greatly increase productivity. In particular, the C++-based SYCL standard provides a powerful programming model for heterogeneous systems that can target a wide range of devices, including multicore CPUs, GPUs, FPGAs, and accelerators, while providing high-level abstractions. This presentation introduces our research efforts to design a SYCL-based high-level programming interface that provides advanced techniques such as task distribution and energy optimization. The key insight is that SYCL semantics can be easily extended to provide advanced features for easy integration into existing SYCL programs. In particular, we will highlight two SYCL extensions that are designed to deal with workload distribution on accelerator clusters (Celerity) and with energy-efficient computing (SYnergy).
Paper Structure (6 sections)