Data Parallel C++ (DPC++)

An Open Standards-Based, Cross-Architecture Programming Language

DPC++ = ISO C++ and Khronos SYCL* and community extensions

Cross-Architecture

  • Is an alternative to single-vendor proprietary languages
  • Allows code reuse across hardware targets (CPU, GPU, FPGA) and supports custom tuning for a specific platform
  • Enables each architecture to be programmed and used in isolation, or together

Intel® oneAPI DPC++ Compiler

Companion Intel® oneAPI DPC++ Library

Based on C++ and SYCL* Standards

  • Delivers the productivity benefits of familiar ISO C++
  • Incorporates standard SYCL* to support data parallelism and heterogeneous programming

Open Community Project

  • API extensions are driven by open and cooperative community development
  • Once proven, these enhancements are proposed to the parent specifications (C++ or SYCL) for implementation

Learn More at oneAPI

Simplify Coding across Architectures with DPC++

See how this cross-architecture language simplifies heterogeneous programming across multiple architectures.

1. Concepts and Functionality

The Vector Add sample demonstrates oneAPI concepts and functionally using the DPC++ programming language. You will learn about:

  • Device selectors targeting different accelerators including GPU and FPGA
  • Buffers and accessors
  • Queues
  • Data parallel kernel “parallel_for”

Go to Code Walkthrough

2. Unified Shared Memory (USM)

The Mandelbrot Set is a program that demonstrates oneAPI concepts and functionally using the DPC++ programming language. You will learn about:

  • Unified shared memory
  • Managing and accessing memory
  • Parallel implementation

Go to Code Walkthrough

Try in the Intel® DevCloud for Free

Develop, run, and optimize your code in this cloud-based development sandbox with 120 days of full access. Access samples or run your own workloads.

Access oneAPI Software

  • Toolkits: Intel® oneAPI Base Toolkit and add-on toolkits for HPC, AI, IoT, and more
  • Tools and Libraries: Intel® oneAPI DPC++ Compiler, Intel® oneAPI Math Kernel Library, Intel Distribution for Python*, Intel® VTune™ Profiler, Intel® Advisor, and more

Use the Latest Intel® Hardware

  • Intel® Xeon® Scalable processors
  • Intel® Xeon® processors with Intel® Graphics Technology (GPU)
  • Intel® FPGAs

Get Access Now

Get DPC++ as Part of the Intel® oneAPI Base Toolkit

This foundational set of tools and libraries includes:

  • Familiar tools and languages
  • Advanced analysis and debugging tools
  • Intel® DPC++ Compatibility Tool for CUDA code migration

See All Toolkits

Watch the Video

Get It Now