Skip to content

Commit

Permalink
[libshortfin] Setting up documentation with Sphinx
Browse files Browse the repository at this point in the history
  • Loading branch information
marbre committed Sep 24, 2024
1 parent 3a3bf70 commit 852df14
Show file tree
Hide file tree
Showing 5 changed files with 148 additions and 0 deletions.
23 changes: 23 additions & 0 deletions libshortfin/docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!--
Copyright 2024 Advanced Micro Devices, Inc.
-->
# Python API Docs

Documentation for the Python API is build with Sphinx under this directory.

## Building docs

The Python modules will be automatically imported if installed or if the build
is located at `../build`, relative to this file.

### Install dependencies

```shell
python3 -m pip install -r requirements.txt
```

### Build the docs

```shell
sphinx-build -b html . _build
```
38 changes: 38 additions & 0 deletions libshortfin/docs/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Copyright 2024 Advanced Micro Devices, Inc.

# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

import os
import sys

try:
import _shortfin_default
except ImportError:
sys.path.insert(0, os.path.abspath("../build/python/"))
import _shortfin_default

# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information

project = "libshortfin"
copyright = "2024, Advanced Micro Devices, Inc"
author = "libshortfin Authors"

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

extensions = [
"sphinx.ext.autodoc",
]

templates_path = ["_templates"]
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]

# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output

html_theme = "sphinx_rtd_theme"
html_static_path = ["_static"]
27 changes: 27 additions & 0 deletions libshortfin/docs/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
.. Copyright 2024 Advanced Micro Devices, Inc.
.. libshortfin documentation master file, created by
sphinx-quickstart on Fri Sep 6 16:31:45 2024.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to libshortfin's documentation!
=======================================

.. toctree::
:maxdepth: 2
:caption: Contents

.. toctree::
:maxdepth: 2
:caption: Reference

reference


Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
58 changes: 58 additions & 0 deletions libshortfin/docs/reference.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
.. Copyright 2024 Advanced Micro Devices, Inc.
.. py:module:: _shortfin_default.lib
.. _reference:

API Reference
=============

Array
--------------
.. automodule:: _shortfin_default.lib.array
.. autoclass:: DType
.. autoclass:: storage
:members:
.. autoclass:: base_array
.. autoclass:: device_array

Local
--------------

.. automodule:: _shortfin_default.lib.local

.. autoclass:: SystemBuilder
.. autoclass:: System
.. autoclass:: Node
.. autoclass:: Device
.. autoclass:: DeviceAffinity
.. autoclass:: Program
.. autoclass:: ProgramFunction
:members:
.. autoclass:: ProgramModule
.. autoclass:: ProgramInvocation
.. autoclass:: Fiber
.. autoclass:: ScopedDevice
.. autoclass:: Worker
.. autoclass:: Process
.. autoclass:: CompletionEvent
.. autoclass:: Message
.. autoclass:: Queue
.. autoclass:: QueueWriter
.. autoclass:: QueueReader
.. autoclass:: Future
.. autoclass:: VoidFuture
.. autoclass:: MessageFuture


AMD GPU
^^^^^^^
.. automodule:: _shortfin_default.lib.local.amdgpu
.. autoclass:: SystemBuilder
.. autoclass:: AMDGPUDevice

Host
^^^^^^^
.. automodule:: _shortfin_default.lib.local.host
.. autoclass:: CPUSystemBuilder
.. autoclass:: HostCPUDevice
2 changes: 2 additions & 0 deletions libshortfin/docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
sphinx==7.4.7
sphinx_rtd_theme==2.0.0

0 comments on commit 852df14

Please sign in to comment.