Skip to content

oneapi-src/DPCPP_Reference

 
 

Repository files navigation

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 plugins. To install all required software on Ubuntu:

apt-get update -qq
DEBIAN_FRONTEND=noninteractive xargs -a ubuntu-packages.txt apt-get install -qq
pip3 install --upgrade --quiet -r requirements.txt

On Windows, install python and git, followed by:

pip install --upgrade --quiet -r requirements.txt

For development, you must also install clang-format. This is only needed for C++ code formatting as part of the git pre-commit hook.

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

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.

About

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

Topics

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE.rst
Unknown
COPYING.rst

Stars

Watchers

Forks

Releases

No releases published

Languages

  • C++ 85.1%
  • Python 10.6%
  • JavaScript 1.8%
  • CSS 0.8%
  • HTML 0.8%
  • C 0.5%
  • CMake 0.4%