Early Experiences Migrating CUDA codes to oneAPI
Manuel Costanzo, Enzo Rucci, Carlos Garc\'ia Sanchez, Marcelo, Naiouf

TL;DR
This paper discusses the initial experiences of porting CUDA applications to oneAPI's DPC++ using the dpct tool, highlighting its effectiveness and limitations in achieving functional portability across diverse hardware devices.
Contribution
It provides practical insights into migrating CUDA code to oneAPI DPC++, demonstrating the tool's capabilities and challenges in heterogeneous computing environments.
Findings
dpct performs most migration tasks but not all
DPC++ code shows functional portability across architectures
Some manual adaptations are still required
Abstract
The heterogeneous computing paradigm represents a real programming challenge due to the proliferation of devices with different hardware characteristics. Recently Intel introduced oneAPI, a new programming environment that allows code developed in DPC++ to be run on different devices such as CPUs, GPUs, FPGAs, among others. This paper presents our first experiences in porting two CUDA applications to DPC++ using the oneAPI dpct tool. From the experimental work, it was possible to verify that dpct does not achieve 100% of the migration task; however, it performs most of the work, reporting the programmer of possible pending adaptations. Additionally, it was possible to verify the functional portability of the DPC++ code obtained, having successfully executed it on different CPU and GPU architectures.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Advanced Data Storage Technologies
