Development and Optimization of a SYCL Backend for libCEED

libCEED is a new library, developed as part of the Exascale Computing Project (ECP), that provides a highly efficient and portable interface for high-order finite element implementations that can be easily integrated with a wide variety of scientific software based on discretization. The libCEED library provides high-performance, GPU specific implementations using CUDA, HIP, and MAGMA backends that can be chosen at runtime by the source application. In this talk, we describe our experiences and challenges encountered in developing and optimizing the SYCL backend implementations for the libCEED library. We will focus on the basic software design of the library, SYCL programming choices made during the development, and leveraging some key SYCL programming capabilities, such as reductions, specialization constants, kernel bundles, as well as the Intel extension for SYCL online compilation provided within the oneAPI software toolkit.

Download Presentation


Learn about joining the UXL Foundation:

Join now