Intel® oneAPI DPC++/C++ Compiler Documentation
Documentation & Code Samples
Documentation
Code Samples
C++ with SYCL* for GPU Offload
Simple-Add Programming Methods
A Hello-World-type sample adds two large vectors of integers and verifies the results. Learn how the most basic code in C++ offloads computations to a GPU using Unified Shared Memory (USM) and buffers.
Sepia Filter
Convert a color image to a monochromatic sepia tone image by offloading each compute-intensive pixel conversion using C++ with code that's compliant with SYCL for CPUs and GPUs.
Mandelbrot
Learn how to use C++ with code that's compliant with SYCL for offloading computations to a GPU. Optimize and improve processing time using parallelism.
C++ and OpenMP*
Accelerate Mandelbrot with OpenMP
Learn how to accelerate program performance with Single Instruction Multiple Data (SIMD) and parallelization using OpenMP to calculate the Mandelbrot set.
Use ISO3DFD for OpenMP Offload
ISO3DFD is a 3D stencil that simulates wave propagating in a 3D isotropic medium. Use it to understand common challenges and techniques when targeting OpenMP Offload devices, like GPUs.
FPGA Samples
Get Started
This tutorial shows how to compile code for FPGAs that is compliant with SYCL by using a simple vector addition.
Database Acceleration
This reference design demonstrates how to use an FPGA to accelerate database queries for a data-warehouse schema derived from the TPC-H* benchmark.
Stream I/O Channels with Minimum Variance Distortionless Response (MVDR) Beamforming
This reference design demonstrates how to use I/O streaming using SYCL on an FPGA for a large system.
Gzip Compression
Use this reference design to implement a compression algorithm optimized for FPGAs.
QR Decomposition of Matrices
This reference design demonstrates high-performance QR decomposition of real and complex matrices on an FPGA.
DPC++ FPGA Code Samples Navigation Guide
How to work with code samples:
Training
- Get Started with the Intel oneAPI DPC++/C++ Compiler [59:07]
- Introducing the Intel oneAPI DPC++/C++ Compiler [1:00:26]
- Learn C++ with SYCL in an Hour (Maybe Less) [1:01:37]
Understand the Intel oneAPI DPC/C++ Compiler Capabilities
- Driver Options, Pragmas & Intrinsics [47:07]
- Tune Applications on CPUs & GPUs [1:18:10]
GPU Offload Development
- How to Extend C++ Applications to Your GPU with SYCL
- Code Sample: Two-Dimensional Finite-Difference Wave Propagation in Isotropic Media
FPGA Offload Development