This document is the source for the DPC++ language reference. Data Parallel C++ (DPC++) is an open, standards-based evolution of ISO C++ that incorporates Khronos SYCL* and community extensions to simplify data parallel programming. DPC++ allows code reuse across hardware targets, and enables high productivity and performance across CPU, GPU, and FPGA architectures, while permitting accelerator-specific tuning.
The document is a work in progress. It may be missing descriptions or entire classes. If you see something wrong, file an issue or submit a PR to fix it.
Commits to dpcpp branch are built by GitHub Actions and published with Github Pages
The document is built with Sphinx and plugins. To install all required software on Ubuntu:
apt-get update -qq DEBIAN_FRONTEND=noninteractive xargs -a packages.txt apt-get install -qq pip3 install --upgrade --quiet -r requirements.txt
To build:
python doc.py html
To see the document, open build/html/index.html
This repo is a downstream fork of SYCL Reference. Edits that are not DPC++ specific should go upstream, and then be merged into this repo. If sycl is a remote that points to the upstream repo, then:
git checkout dpcpp git pull sycl main git commit -m 'merge from sycl' git push
Check if files are missing license/copyright:
reuse lint
Add license/copyright to a rst file (may require a patch):
reuse addheader -c "Intel Corporation" -l CC-BY-4.0 path/to/file.rst
Add license/copyright to a code example:
reuse addheader -c "Intel Corporation" -l Apache-2.0 path/to/file.cpp
See licenses
See contributing.
See Guidelines.