Bringing Nvidia GPU support to SYCL developers

16 December 2019

There was a lot of SYCL activity during SuperComputing 2019, and if you missed it, we also provided a sneak preview of a project we have been working on to enable Nvidia® hardware support for SYCL developers.

Codeplay currently provides "experimental" support for Nvidia devices with ComputeCpp using CUDA. This exposes Nvidia GPUs as data-parallel computing devices and ComputeCpp uses this to target Nvidia GPUs.

We are excited to announce that in 2020 we will be releasing a project that brings full support for Nvidia devices to SYCL developers. This project will be fully open source and initially includes integration with Intel's oneAPI, however it could be integrated with other SYCL implementations. During this project our engineers have been working in conjunction with Intel's engineers to implement a back-end for SYCL that uses CUDA to dispatch kernels in PTX format enabling parallel execution on Nvidia GPUs.

Software developers will be able to use this implementation with Intel's® oneAPI framework to target Nvidia GPUs using any SYCL code, without any porting or special tricks required. If you have existing SYCL code, or if you are writing new SYCL code, you will be able to compile it and target Nvidia GPUs.

Codeplay will be releasing this as an open source module during H1 2020, and in the future the intention is to upstream this effort to the open source Clang LLVM project, which would make it fully integrated into the Clang toolchain.

Sign up to our newsletter to be the first to find out when this project is available.

Rod Burns's Avatar

Rod Burns

Developer Relations Manager