In this session we will learn about the steps involved in migrating CUDA code to C++ SYCL code using the SYCLomatic tool. We will install SYCLomatic tool on CUDA Development machine and start with migrating a simple CUDA code to understand all the useful command line options of the SYCLomatic tool.
We will inspect the migrated SYCL code and compare it with the CUDA source to understand how migration was accomplished. We will compile and run the migrated C++ SYCL code on Intel CPUs and GPUs.
Next, we will migrate a CUDA sorting algorithm from Nvidia CUDA samples to SYCL using SYCLomatic tool and then compile/run it on Intel GPU.
In this session we will mainly try to understand how memory allocation and memory copy is accomplished in CUDA versus SYCL, we will also look at how a kernel is offloaded to run on GPU in CUDA versus SYCL.