Intel oneAPI DPC++ Compiler Merges Its Initial CUDA Backend
Intel's oneAPI crew just released version 2020-03 (though one would have thought it should be 2020-05) of their Data Parallel C++ (DPC++) compiler and with this release are several new features including the NVIDIA CUDA back-end.
This CUDA back-end allows for Data Parallel C++ / SYCL to run atop CUDA-enabled NVIDIA GPUs. This is the compiler work carried out by Codeplay as part of their effort for bringing oneAPI/DPC++/SYCL to NVIDIA GPUs in cooperation with Intel. The heavy lifting is helped in part by DPC++ being built off LLVM and being able to re-use the NVIDIA NVPTX code already within upstream LLVM.
With the initial code, the CUDA back-end passes around 40% of the current SYCL conformance test suite. So it's still a long ways to go, but Data Parallel C++ / SYCL is beginning to work now atop the NVIDIA drivers/hardware.
The DPC++ 2020-03 update also implements the I/O pipes interface and other feature implementations, new Intel FPGA attributes, fat static library support, and a wide range of other changes.
The full list of all the Intel oneAPI DPC++ 2020-03 changes via Intel's LLVM release page with this new tag.
This CUDA back-end allows for Data Parallel C++ / SYCL to run atop CUDA-enabled NVIDIA GPUs. This is the compiler work carried out by Codeplay as part of their effort for bringing oneAPI/DPC++/SYCL to NVIDIA GPUs in cooperation with Intel. The heavy lifting is helped in part by DPC++ being built off LLVM and being able to re-use the NVIDIA NVPTX code already within upstream LLVM.
With the initial code, the CUDA back-end passes around 40% of the current SYCL conformance test suite. So it's still a long ways to go, but Data Parallel C++ / SYCL is beginning to work now atop the NVIDIA drivers/hardware.
The DPC++ 2020-03 update also implements the I/O pipes interface and other feature implementations, new Intel FPGA attributes, fat static library support, and a wide range of other changes.
The full list of all the Intel oneAPI DPC++ 2020-03 changes via Intel's LLVM release page with this new tag.
4 Comments