Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/workflows/DocsCleanup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Doc Preview Cleanup

on:
pull_request:
types: [closed]

jobs:
doc-preview-cleanup:
runs-on: ubuntu-latest
steps:
- name: Checkout gh-pages branch
uses: actions/checkout@v2
with:
ref: gh-pages

- name: Delete preview and history
run: |
git config user.name "oneAPI.jl"
git config user.email "[email protected]"
git rm -rf "previews/PR$PRNUM"
git commit -m "delete preview"
git branch gh-pages-new $(echo "delete history" | git commit-tree HEAD^{tree})
env:
PRNUM: ${{ github.event.number }}

- name: Push changes
run: |
git push --force origin gh-pages-new:gh-pages
29 changes: 29 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Documentation

on:
push:
branches:
- main
tags: '*'
pull_request:
types: [opened, synchronize, reopened]
schedule:
- cron: '0 0 * * 0'

jobs:
docs:
name: Build documentation
env:
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
JULIA_DEBUG: Documenter
runs-on: [self-hosted, linux, X64]

steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@latest
with:
version: 'lts'
- uses: julia-actions/cache@v2
- uses: julia-actions/julia-buildpkg@latest
- run: julia --project=docs/ docs/make.jl
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ deps/onemkl_lapack.cpp
deps/onemkl_lapack.h
deps/onemkl_sparse.cpp
deps/onemkl_sparse.h
docs/build
7 changes: 6 additions & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ authors = ["Tim Besard <[email protected]>", "Alexis Montoison", "Michel Sch

[deps]
AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c"
AcceleratedKernels = "6a4ca0a5-0e36-4168-a932-d9be78d558f1"
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82"
ExprTools = "e2ba6199-217a-4e67-a87a-7c52f15ade04"
Expand All @@ -30,6 +29,12 @@ oneAPI_Level_Zero_Headers_jll = "f4bc562b-d309-54f8-9efb-476e56f0410d"
oneAPI_Level_Zero_Loader_jll = "13eca655-d68d-5b81-8367-6d99d727ab01"
oneAPI_Support_jll = "b049733a-a71d-5ed3-8eba-7d323ac00b36"

[weakdeps]
AcceleratedKernels = "6a4ca0a5-0e36-4168-a932-d9be78d558f1"

[extensions]
oneAPIAcceleratedKernelsExt = "AcceleratedKernels"

[compat]
AbstractFFTs = "1.5.0"
AcceleratedKernels = "0.4.3"
Expand Down
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

*Julia support for the oneAPI programming toolkit.*

[![][doi-img]][doi-url] [![][buildkite-img]][buildkite-url] [![][codecov-img]][codecov-url]
[![][doi-img]][doi-url] [![][buildkite-img]][buildkite-url] [![][codecov-img]][codecov-url] [![][docs-stable-img]][docs-stable-url] [![][docs-dev-img]][docs-dev-url]

[doi-img]: https://zenodo.org/badge/252466420.svg
[doi-url]: https://zenodo.org/badge/latestdoi/252466420
Expand All @@ -13,6 +13,12 @@
[codecov-img]: https://codecov.io/gh/JuliaGPU/oneAPI.jl/branch/master/graph/badge.svg
[codecov-url]: https://codecov.io/gh/JuliaGPU/oneAPI.jl

[docs-stable-img]: https://img.shields.io/badge/docs-stable-blue.svg
[docs-stable-url]: https://juliagpu.github.io/oneAPI.jl/stable

[docs-dev-img]: https://img.shields.io/badge/docs-dev-blue.svg
[docs-dev-url]: https://juliagpu.github.io/oneAPI.jl/dev

oneAPI.jl provides support for working with the [oneAPI unified programming
model](https://software.intel.com/en-us/oneapi). The package is verified to work with the
(currently) only implementation of this interface [that is part of the Intel Compute
Expand Down
9 changes: 9 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[deps]
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
oneAPI = "8f75cd03-7ff8-4ecb-9b8f-daf728133b1b"

[sources]
oneAPI = {path = "/home/michel/git/oneAPI.jl"}

[compat]
Documenter = "1"
54 changes: 54 additions & 0 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
using Pkg

Pkg.develop(PackageSpec(path=joinpath(dirname(@__FILE__), "..")))
# # when first running instantiate
Pkg.instantiate()
using Documenter
using Documenter.Remotes
using oneAPI

oneAPI.versioninfo()

makedocs(
sitename = "oneAPI.jl",
format = Documenter.HTML(
prettyurls = Base.get(ENV, "CI", nothing) == "true",
canonical = "https://exanauts.github.io/ExaPF.jl/stable/",
mathengine = Documenter.KaTeX(),
),
modules = [oneAPI],
pages = [
"Home" => "index.md",
"Installation" => "installation.md",
"Getting Started" => "getting_started.md",
"Usage" => [
"Array Programming" => "arrays.md",
"Kernel Programming" => "kernels.md",
"Memory Management" => "memory.md",
"Device Intrinsics" => "device.md",
"Performance Guide" => "usage/performance.md",
],
"API Reference" => [
"Overview" => "api.md",
"Context & Device Management" => "api/context.md",
"Array Operations" => "api/arrays.md",
"Kernel Programming" => "api/kernels.md",
"Memory Management" => "api/memory.md",
"Compiler & Reflection" => "api/compiler.md",
"Level Zero (oneL0)" => "level_zero.md",
"oneMKL" => "onemkl.md",
],
"Troubleshooting" => "troubleshooting.md",
],
checkdocs = :none, # Don't error on missing docstrings
warnonly = [:cross_references, :missing_docs], # Only warn, don't error
)

deploydocs(
repo = "github.com/JuliaGPU/oneAPI.jl.git",
target = "build",
devbranch = "main",
devurl = "dev",
push_preview = true,
)

42 changes: 42 additions & 0 deletions docs/src/api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# API Reference

This page provides an overview of the oneAPI.jl API. For detailed documentation, see the specific API reference pages:

- [Context & Device Management](api/context.md) - Managing drivers, devices, and contexts
- [Array Operations](api/arrays.md) - Working with GPU arrays
- [Kernel Programming](api/kernels.md) - Writing and launching custom kernels
- [Memory Management](api/memory.md) - Memory allocation and transfer
- [Compiler & Reflection](api/compiler.md) - Code generation and introspection

## Core Functions

```@autodocs
Modules = [oneAPI]
Pages = ["src/context.jl", "src/utils.jl"]
Filter = t -> t !== oneAPI.synchronize
```

## Compiler Functions

```@autodocs
Modules = [oneAPI]
Pages = ["src/compiler/execution.jl", "src/compiler/reflection.jl"]
```

## oneL0 (Level Zero)

Low-level bindings to the Level Zero API. See the [Level Zero page](level_zero.md) for details.

```@autodocs
Modules = [oneAPI.oneL0]
Filter = t -> t !== oneAPI.oneL0.synchronize
```

## oneMKL

Intel oneAPI Math Kernel Library bindings. See the [oneMKL page](onemkl.md) for details.

```@autodocs
Modules = [oneAPI.oneMKL]
```

Loading
Loading