Git Product home page Git Product logo

oneapi-spec's Introduction

oneAPI Specifications

image

REUSE status

image

This repository contains the sources for the oneAPI Specification. For the latest build from main branch, see HTML and PDF.

For more information about oneAPI, see oneapi.io. For information about future releases of the oneAPI specification, see the roadmap. 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.

License

The oneAPI specification is licensed under the Creative Commons Attribution 4.0 International License.

See LICENSE for more information.

Contribute

See CONTRIBUTING for more information.

Build the Specification

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.

Setup

Install Python 3, Doxygen (>= 1.8.17), LaTeX, etc. To install on Ubuntu:

sudo scripts/install.sh

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

Build the Docs

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.

Spell check:

python oneapi.doc. --verbose spelling

CI

We use GitHub actions. See .github/workflows/ci.yml.

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.

Adding licenses to files

Use the reuse tool

Code examples:

reuse addheader --copyright "Constributors to the oneapi-spec project" --license MIT source/examples/host-task.cpp

Doc sources:

reuse addheader --copyright "Constributors to the oneapi-spec project" --license CC-BY-4.0 source/index.rst

Making a Release

  1. Update:
    • oneapi-doc.json
    • releases/index.rst
  2. Tag it.
  3. Publish with oneAPI doc repo

oneapi-spec's People

Contributors

rscohn2 avatar amgrigoriev avatar michael-smirnov avatar akukanov avatar napetrov avatar vepifanov avatar rlnx avatar mmeterel avatar mkrainiuk avatar igorbelyakovintel avatar anton-potapov avatar mshiryaev avatar kboyarinov avatar spencerpatty avatar mchernov-intel avatar hdelassus avatar dmnemshi avatar no-ponomarev avatar andreynv avatar andrewtbarker avatar mgouicem avatar akwrobel avatar baeseung-intel avatar tletnes avatar aepanchi avatar alexey-katranov avatar sknepper avatar rachelertl avatar gajanan-choudhary avatar wuxun-zhang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.