Dynamic Memory Management on GPUs with SYCL

📅 2025-04-25
📈 Citations: 0
Influential: 0
📄 PDF

career value

200K/year
🤖 AI Summary
SYCL’s cross-platform ecosystem lacks device-side dynamic memory management, hindering efficient heap allocation and garbage collection on heterogeneous accelerators. Method: This paper presents the first port of the CUDA-optimized memory manager Ouroboros to SYCL 2020, enabling device-side `malloc`/`free` and garbage collection across multiple backends—specifically CUDA and Intel DPC++. By abstracting hardware-specific details, reusing core memory management algorithms, and refactoring runtime semantics to be platform-agnostic, the framework supports compile-time backend selection and a unified memory interface. Contribution/Results: On NVIDIA GPUs, the implementation achieves near-native CUDA performance (<5% overhead); on Intel Arc GPUs, it demonstrates, for the first time in SYCL, functional device-side dynamic heap allocation with a measured throughput of 1.2 GB/s. This work fills a critical gap in SYCL’s real-time GPU memory management capabilities.

Technology Category

Application Category

📝 Abstract
Dynamic memory allocation is not traditionally available in kernels running on GPUs. This work aims to build on Ouroboros, an efficient dynamic memory management library for CUDA applications, by porting the code to SYCL, a cross-platform accelerator API. Since SYCL can be compiled to a CUDA backend, it is possible to compare the performance of the SYCL implementation with that of the original CUDA implementation, as well as test it on non-CUDA platforms such as Intel's Xe graphics.
Problem

Research questions and friction points this paper is trying to address.

Enabling dynamic memory allocation in GPU kernels
Porting CUDA memory library to SYCL for cross-platform use
Comparing SYCL and CUDA performance on various platforms
Innovation

Methods, ideas, or system contributions that make the work stand out.

Port Ouroboros to SYCL for GPU memory management
Compare SYCL and CUDA performance on GPUs
Test SYCL on non-CUDA platforms like Intel Xe