Intel Announces SYCLomatic For Open-Source Conversion Of CUDA Code To C++ SYCL
Intel today has lifted the embargo on SYCLomatic, their new open-source tool to help migrate code-bases targeting NVIDIA's CUDA so they can be re-purposed to target C++ and SYCL -- thereby being able to leverage Intel's graphics processors and jiving with their oneAPI goals.
SYCL is the Khronos programming model based on C++17 currently and is a single-source approach for targeting various hardware accelerators. SYCL is independent from Khronos' OpenCL working group and has seen various implementations over the years for bolstering the compute potential outside of the walled gardens like NVIDIA CUDA.
Over the years have been various efforts for taking code-bases to/from SYCL to other programming models. There has been the likes of hipSYCL for targeting AMD's ROCm HIP, ComputeCpp, triSYCL, and more.
Intel the past few years has worked on plumbing SYCL into their oneAPI software components and the Data Parallel C++ (DPC++) compiler and is one of their preferred routes for programs wanting to target Intel's heterogeneous systems across CPUs, GPUs, and XPUs. Intel has helped push along the SYCL world with upstream contributions to LLVM and other components.
But with there still being many code-bases out there explicitly targeting NVIDIA's CUDA, Intel today is announcing SYCLomatic as a open-source conversion tool for aiming to automatically convert more code to be compatible with the SYCL paradigm. Intel hopes this will lead to more software running across their CPUs, GPUs, and FPGAs.
Intel says SYCLomatic is able to port roughly "90-95%" of CUDA code automatically over into SYCL compliant code. But they acknowledge it may not be perfect and there still may be custom-tuning needed to achieve desirable performance for a given platform. In any case it should be a big initial time-saver for developers wanting to explore SYCL ports.
SYCLomatic is available via GitHub under their oneAPI umbrella.
SYCL is the Khronos programming model based on C++17 currently and is a single-source approach for targeting various hardware accelerators. SYCL is independent from Khronos' OpenCL working group and has seen various implementations over the years for bolstering the compute potential outside of the walled gardens like NVIDIA CUDA.
Over the years have been various efforts for taking code-bases to/from SYCL to other programming models. There has been the likes of hipSYCL for targeting AMD's ROCm HIP, ComputeCpp, triSYCL, and more.
Intel the past few years has worked on plumbing SYCL into their oneAPI software components and the Data Parallel C++ (DPC++) compiler and is one of their preferred routes for programs wanting to target Intel's heterogeneous systems across CPUs, GPUs, and XPUs. Intel has helped push along the SYCL world with upstream contributions to LLVM and other components.
But with there still being many code-bases out there explicitly targeting NVIDIA's CUDA, Intel today is announcing SYCLomatic as a open-source conversion tool for aiming to automatically convert more code to be compatible with the SYCL paradigm. Intel hopes this will lead to more software running across their CPUs, GPUs, and FPGAs.
Intel SYCLomatic
Intel says SYCLomatic is able to port roughly "90-95%" of CUDA code automatically over into SYCL compliant code. But they acknowledge it may not be perfect and there still may be custom-tuning needed to achieve desirable performance for a given platform. In any case it should be a big initial time-saver for developers wanting to explore SYCL ports.
SYCLomatic is available via GitHub under their oneAPI umbrella.
11 Comments