Intel® DPC++ Compatibility Tool Developer Guide and Reference
Developer Guide and Reference
Migrate a Project
The Intel® DPC++ Compatibility Tool ports CUDA* language kernels and library API calls to
SYCL for the Intel® oneAPI DPC++/C++ Compiler. Typically, 90%-95% of CUDA code automatically
migrates to SYCL*. The tool inserts inline comments during migration to
help you complete the remaining code migration.
Start with a running CUDA project that can be built and run. The
Intel® DPC++ Compatibility Tool looks for CUDA headers, so make sure the headers are
accessible to the tool.
Migrate your project
To generate annotated SYCL code, run the Intel® DPC++ Compatibility Tool with the
original source as input to the tool.
For simple projects, you can use file-to-file migration, with the option to
migrate all files at once or to migrate files one-by-one.
For complex projects, you can utilize the Microsoft Visual Studio* project
file or Make/Cmake file to build a compilation database, used to migrate the
Review converted code
Output files contain annotations to help migrate any remaining code that
could not be automatically migrated. Inspect the converted code, review the
annotations to help manually convert unmigrated code, and look for potential
Build the project with the Intel® oneAPI DPC++/C++ Compiler
Make sure your newly migrated project compiles successfully with the
Intel® oneAPI DPC++/C++ Compiler.
* Intel estimates as of September 2021. Based on measurements on a set of 70 HPC benchmarks and samples, with examples like Rodinia, SHOC, PENNANT. Results may vary.