ReSYCLator: Transforming CUDA C++ source code into SYCL
IFS Institute for Software at FHO-HSR Hochschule für Technik, Rapperswil, Switzerland
The Distributed & Heterogeneous Programming in C/C++ conference (DHPCC++), IWOCL, 2019
@article{stauber2019resyclator,
title={ReSYCLator: Transforming CUDA C++ source code into SYCL},
author={Stauber, Tobias and Sommerlad, Peter},
year={2019}
}
CUDA while very popular, is not as flexible with respect to target devices as OpenCL. While parallel algorithm research might address problems first with a CUDA C++ solution, those results are not easily portable to a target not directly supported by CUDA. In contrast, a SYCL C++ solution can operate on the larger variety of platforms supported by OpenCL. ReSYCLator is a plug-in for the C++ IDE Cevelop[2], that is itself an extension of Eclipse-CDT. ReSYCLator bridges the gap between algorithm availability and portability, by providing automatic transformation of CUDA C++ code to SYCL C++. A first attempt basing the transformation on NVIDIA’s Nsight Eclipse CDT plug-in showed that Nsight’s weak integration into CDT’s static analysis and refactoring infrastructure is insufficient. Therefore, an own CUDA-C++ parser and CUDA language support for Eclipse CDT was developed (CRITTER) that is a sound platform for transformations from CUDA C++ programs to SYCL based on AST transformations.
June 27, 2019 by hgpu