Developer Guide and Reference

  • 2022.1
  • 04/11/2022
  • Public Content

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.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.