diff --git a/docs/conf.py b/docs/conf.py index 2c6eb74e0..2daab8833 100755 --- a/docs/conf.py +++ b/docs/conf.py @@ -16,6 +16,9 @@ # -- Project information ----------------------------------------------------- +import sys +import os +import komputepy project = 'Vulkan Kompute' copyright = '2020, The Institute for Ethical AI & Machine Learning' @@ -31,6 +34,7 @@ release = '0.4.0' # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ + "sphinx.ext.autodoc", # Creates .nojekyll config 'sphinx.ext.githubpages', # Integrates with doxygen diff --git a/docs/index.rst b/docs/index.rst index 60d01f21b..57f1a1271 100755 --- a/docs/index.rst +++ b/docs/index.rst @@ -11,13 +11,14 @@ Index :maxdepth: 2 :titlesonly: - Class Documentation and C++ Reference - Advanced Examples + Simple & Advanced Examples Asynchronous & Parallel Operations Memory Management Principles Build System Deep Dive Converting GLSL/HLSL Shaders to C++ Headers Mobile App Integration (Android) Game Engine Integration (Godot Engine) + Python Class Documentation & Reference + C++ Class Documentation & Reference Code Index diff --git a/docs/overview/python-package.rst b/docs/overview/python-package.rst new file mode 100644 index 000000000..92dc8ca38 --- /dev/null +++ b/docs/overview/python-package.rst @@ -0,0 +1,44 @@ + + +Python Class Documentation & Reference +======== + +This section provides a breakdown of the Python classes and what each of their functions provide. +Below is a diagram that provides insights on the relationship between Vulkan Kompute objects and Vulkan resources, which primarily encompass ownership of either CPU and/or GPU memory. + +.. image:: ../images/kompute-architecture.jpg + :width: 70% + +Manager +------- + +The Kompute Manager provides a high level interface to simplify interaction with underlying :class:`komputepy.Sequence` of Operations. + +.. autoclass:: komputepy.Manager + :members: + + +Sequence +------- + +The Kompute Sequence consists of batches of Kompute Operations, which are executed on a respective GPU queue. The execution of sequences can be synchronous or asynchronous, and it can be coordinated through its respective Vulkan Fence. + +.. autoclass:: komputepy.Sequence + :members: + + +Tensor +------- + +The Kompute Tensor is the atomic unit in Kompute, and it is used primarily for handling Host and GPU Device data. + +.. autoclass:: komputepy.Tensor + :members: + + +TensorType +------- + +.. automodule:: komputepy + :members: +