Migration of GPU Applications from CUDA to SYCL Programming Model

Due to new enhancements in the field of computer architecture and the proliferation of heterogeneous computing devices, there is an increasing demand for portable and efficient programming applications. These applications are essential for harnessing the capabilities of diverse hardware devices found on heterogeneous platforms, which include CPUs, GPUs, NPUs, and FPGAs from different hardware vendors like Intel, Nvidia, and AMD. CUDA-based applications are designed exclusively for execution on Nvidia GPUs, whereas the SYCL standard, combining modern C++ features, allows single-source code to operate on heterogeneous computing devices. This study compares the SYCL and CUDA programming interfaces and provides concepts and guidance on migrating CUDA-based applications to the SYCL interface covering aspects like memory management, kernel launch, execution hierarchy, synchronization, debugging etc. across both programming models. Study also underscores the potential of the SYCL programming interface as a practical solution for attaining both portability and performance in the modern computing systems, particularly across heterogeneous devices, with case-study covering migration of CUDA model-based vector addition code to the SYCL model.

Authors

Institutions

Publication Details

Published
2024-11-07
DOI
https://doi.org/10.1109/csitss64042.2024.10816776
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Migration of GPU Applications from CUDA to SYCL Programming Model

Manju Khanna, Y. Gaur
Parallel Computing and Optimization Techniques
article

Migration of GPU Applications from CUDA to SYCL Programming Model

Manju Khanna, Y. Gaur
article en

Abstract

Due to new enhancements in the field of computer architecture and the proliferation of heterogeneous computing devices, there is an increasing demand for portable and efficient programming applications. These applications are essential for harnessing the capabilities of diverse hardware devices found on heterogeneous platforms, which include CPUs, GPUs, NPUs, and FPGAs from different hardware vendors like Intel, Nvidia, and AMD. CUDA-based applications are designed exclusively for execution on Nvidia GPUs, whereas the SYCL standard, combining modern C++ features, allows single-source code to operate on heterogeneous computing devices. This study compares the SYCL and CUDA programming interfaces and provides concepts and guidance on migrating CUDA-based applications to the SYCL interface covering aspects like memory management, kernel launch, execution hierarchy, synchronization, debugging etc. across both programming models. Study also underscores the potential of the SYCL programming interface as a practical solution for attaining both portability and performance in the modern computing systems, particularly across heterogeneous devices, with case-study covering migration of CUDA model-based vector addition code to the SYCL model.

Amrita Vishwa Vidyapeetham (IN)
Reduced inequalities
Openalex Percentile: Top 73%
Parallel Computing and Optimization Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.