Visible to Intel only — GUID: GUID-617E7322-7FF2-4348-BF26-563315D9E9CF
Visible to Intel only — GUID: GUID-617E7322-7FF2-4348-BF26-563315D9E9CF
Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference
This guide provides information about the Intel® oneAPI DPC++/C++ Compiler and runtime environment. This document is valid for version 2024.0 of the compilers.
The Intel® oneAPI DPC++/C++ Compiler is available as part of the Intel® oneAPI Base Toolkit, Intel® oneAPI HPC Toolkit, Intel® oneAPI IoT Toolkit, or as a standalone compiler.
Refer to the Intel® oneAPI DPC++/C++ Compiler product page and the Release Notes for more information about features, specifications, and downloads.
Key Features
The compiler supports these key features:
- Intel® oneAPI Level Zero: The Intel® oneAPI Level Zero (Level Zero) Application Programming Interface (API) provides direct-to-metal interfaces to offload accelerator devices.
- OpenMP* Support: Compiler support for OpenMP 5.0 Version TR4 features and some OpenMP Version 5.1 features.
- Pragmas: Information about directives to provide the compiler with instructions for specific tasks, including splitting large loops into smaller ones, enabling or disabling optimization for code, or offloading computation to the target.
- Offload Support: Information about SYCL*, OpenMP, and parallel processing options you can use to affect optimization, code generation, and more.
- Latest Standards: Use the latest standards including C++ 20, SYCL, and OpenMP 5.0 and 5.1 for GPU offload.
For more information, refer to Introducing the Intel® oneAPI DPC++/C++ Compiler.
For information about Intel intrinsics, visit Intel® Intrinsics Guide.
Key Sections
Visit these key sections for more information on the compiler:
- Introduction: Information on the compiler, including: feature requirements, support, and related information.
- Compiler Setup: Information on how to invoke the compiler on the command line or from within an IDE.
- Compiler Reference: Information on compiler reference, including: compiler options, compiler limits, libraries, and more.
- Compilation: Information about features that can affect compilation, such as environment variables, and using configuration files
- Optimization and Programming: Information about features related to code optimization and program performance improvement
- Compatibility and Portability: Information about conformance to language standards, language compatibility, and portability
For more information, refer to Intel® oneAPI DPC++/C++ Compiler Introduction.
Clang Option Support
Clang compiler options are supported for this compiler. We do not document these options, but you can check -help on the command line to see if a particular option is supported. For more information about Clang options, see the Clang documentation.
Notices and Important Information
- The dpcpp driver is deprecated and will be removed in a future release. Please use icx -fsycl or icpx -fsycl.
- In this document, you may see features labeled as experimental. An experimental feature is one that requires further testing and possible refinement. Depending on testing results, such features may be fully defined and implemented or they may be removed in a future release.
- The Intel® oneAPI DPC++/C++ Compiler does not support macOS*. For macOS or Xcode* support use Intel® C++ Compiler Classic. For more information, visit the Intel® C++ Compiler Classic Developer Guide and Reference.
Use the Compiler: Additional Resources
- Context Sensitive/F1 Help: To use the Context Sensitive/F1 Help feature, visit the Download Documentation: Intel® Compiler (Current and Previous) page and follow the provided instructions.
- Previous Versions of the Developer Guide and Reference: Visit the Download Documentation: Intel® Compiler (Current and Previous) page to download PDF or FAR HTML versions of previous compiler documentation.
When searching HTML files, use a Google Chrome* browser to view your downloaded copy of the Developer Guide and Reference. If you use Mozilla Firefox*, you may encounter an issue where the Search tab does not work. As a workaround, you can use the Contents and Index tabs or a third-party search tool to find your content.