Before You Begin

Refer to Get Started with the Intel® DPC++ Compatibility Tool for installation and setup information.

Configure CLI environment

Set up your CLI environment by running the setvars script located in the root of your toolkit installation.

  • On Linux* (sudo): source /opt/intel/oneapi/setvars.sh

  • On Linux (user): source ~/intel/oneapi/setvars.sh

  • On Windows*: C:\Program Files(x86)\Intel\oneAPI\setvars.bat

Samples

The Intel® DPC++ Compatibility Tool comes with several sample projects so you can explore the tool and familiarize yourself with how it functions.

Sample Project

Description

Vector Add DPCT

  • vector_add.cu

The Vector Add DPCT sample demonstrates how to migrate a simple program from CUDA* to Data Parallel C++ (DPC++). Vector Add provides an easy way to verify that your development environment is setup correctly to use the Intel® DPC++ Compatibility Tool.

Folder Options DPCT

  • main.cu

  • bar/util.cu

  • bar/util.h

The Folder Options DPCT sample provides an example of how to migrate more complex projects and use options.

Rodinia NW DPCT

  • needle.cu

  • needle.h

  • needle_kernel.cu

The Rodinia NW DPCT project demonstrates how to migrate a Make/CMake* project from CUDA to Data Parallel C++ (DPC++) using the Intel® DPC++ Compatibility Tool.

Review the README file provided with each sample for more detailed information on the purpose and usage of the sample project.

To access the samples

  • use the oneapi-cli utility to select a sample from the Intel® DPC++ Compatibility Tool category, or

  • download the samples from GitHub*.

For more information on how to download and access the samples, visit the Intel® oneAPI Base Toolkit Get Started Guides:

Emitted Warnings

During the migration of the files the Intel® DPC++ Compatibility Tool identifies places in the code that may require your attention to make the code DPC++ compliant or correct.

The Intel® DPC++ Compatibility Tool inserts comments into the generated source files which are displayed as warnings in the output. For example:

/path/to/file.hpp:26:1: warning: DPCT1003:0: Migrated API does not return error code. (*,0) is inserted. You may need to rewrite this code.
// source code line for which warning was generated
^

For more details on what a particular warning means, see the Diagnostics Reference.