/DPCPP_Reference

oneAPI Data Parallel C++ (DPC++) language reference

Primary LanguageC++OtherNOASSERTION

DPC++ Language Reference

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.

Publishing

Commits to dpcpp branch are built by GitHub Actions and published with Github Pages

Prerequisites

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

Building

To build:

python doc.py html

To see the document, open build/html/index.html

Relationship to SYCL Reference

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

License and Copyright Markings

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

License

See licenses

Contribute

See contributing.

Security

See Guidelines.