This repo contains the source for the SYCL reference manual published at ReadTheDocs.
It's 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 main branch are built and published at ReadTheDocs.
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.
To build as HTML:
python doc.py html
To see the document, open build/html/index.html
To build as a PDF:
python doc.py latexpdf
To see the document, open build/latex/syclreference.pdf
We use a manual process to incorporate SYCL spec headers into our doc. The headers that were used are kept in the headers directory. If this doc does not include definitions from the spec, then copy the new header from the SYCL spec to the headers directory and update the doc.
Use the reuse tool
Code examples:
reuse addheader --copyright "The Khronos Group Inc." --year 2020 --license Apache-2.0 source/examples/host-task.cpp
Doc sources:
reuse addheader --copyright "The Khronos Group Inc." --year 2020 --license CC-BY-4.0 source/index.rst