.. SPDX-FileCopyrightText: 2019-2020 Intel Corporation .. .. SPDX-License-Identifier: CC-BY-4.0
.. image:: https://api.reuse.software/badge/github.com/oneapi-src/oneapi-spec :target: https://api.reuse.software/info/github.com/oneapi-src/oneapi-spec :alt: REUSE status
This repository contains the sources for the
oneAPI Specification_. For the latest build from main branch, see
HTML <https://oneapi-src.github.io/oneAPI-spec>__ and
For more information about oneAPI, see
oneapi.com <https://oneapi.com>. For information about future releases of the
oneAPI specification, see the
oneAPI Specification Roadmap <roadmap.rst>. To be notified about new releases, become a
release-only watcher of this repo.
The document is written using
reStructuredText_ and built with
Sphinx_ using a theme provided by
Read the Docs_.
.. contents:: :local: :depth: 1
The oneAPI specification is licensed under the Creative Commons Attribution 4.0 International License.
LICENSE <LICENSE.rst>__ for more information.
CONTRIBUTING <CONTRIBUTING.rst>__ for more information.
To build the specification document locally, clone this repository to your local system and follow the setup and build instructions. The setup and build steps make use of scripts/oneapi.py, a helper script for maintenance tasks. You can also look at the source if you want to see how to do the same task manually.
Install Python 3, Doxygen (>= 1.8.17), LaTeX, etc. To install on Ubuntu::
Create and activate a Python virtual environment with all required tools::
python scripts/oneapi.py spec-venv source spec-venv/bin/activate
To install directly with pip::
pip install -r requirements.txt
To install on Windows::
python scripts\oneapi.py spec-venv spec-venv\Scripts\activate
To build the HTML document, use the following command::
python scripts/oneapi.py html
The document is organized as a book with chapters. Each element of oneAPI is its own chapter and can be built separately. For example, to build the oneVPL chapter, use the following command::
python scripts/oneapi.py html source/elements/oneVPL
To view the HTML docs, visit build/html/index.html in your browser using a file:// URL.
Build the pdf version wit the following command::
python scripts/oneapi.py latexpdf
The generated PDF will be located at build/latexpdf/oneAPI-spec.pdf.
You can build a Docker container image with the following command::
python scripts/oneapi.py dockerbuild
The tag will be rscohn2/oneapi-spec. The script copies your proxy settings in the invoking shell so it will work inside the firewall.
You can run a docker container with the following command::
python scripts/oneapi.py dockerrun
We use GitHub actions. See
PR's trigger the CI to build the document and save it as an artifact. If you are working in a fork on GitHub, commits to the main branch will build and publish the document in the GitHub pages associated with the repository.
Use the reuse_ tool
reuse addheader --copyright "Intel Corporation" --year 2020 --license MIT source/examples/host-task.cpp
reuse addheader --copyright "Intel Corporation" --year 2020 --license CC-BY-4.0 source/index.rst
Publish with oneAPI doc repo
Read the Docs: https://readthedocs.org/
oneAPI Specification: https://spec.oneapi.com
.. _reuse: https://pypi.org/project/reuse/