Updated documentation to include multiple sections
This commit is contained in:
parent
5be21da7c2
commit
e4c679058b
7 changed files with 115 additions and 99 deletions
14
docs/overview/memory-management.rst
Executable file
14
docs/overview/memory-management.rst
Executable file
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
Memory Management Principles
|
||||
=====================
|
||||
|
||||
The principle in Vulkan Kompute on memory management is summarised as follows:
|
||||
* Explicit is better than implicit for specifying memory management
|
||||
* Interfaces for memory management are constant until freed
|
||||
* Memory management responsibilities are acyclic from static object references
|
||||
|
||||
Vulkan Kompute is responsible for managing both the CPU and GPU memory allocations and resources, and is important that they are able to explicitly define when these objects are released or destroyed. Similarly, it's important that the memory resources created by the application are released safely.
|
||||
|
||||
Vulkan Kompute is built with the BYOV principle in mind (Bring your own Vulkan). This means that even though the top level resources are managing the memory to its owned resources, they themselves may not have full ownership of the GPU / Vulkan components themselves.
|
||||
|
||||
|
||||
83
docs/overview/reference.rst
Normal file
83
docs/overview/reference.rst
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
|
||||
Reference
|
||||
========
|
||||
|
||||
This section provides a breakdown of the cpp classes and what each of their functions provide. It is partially generated and augomented from the Doxygen autodoc content. You can also go directly to the `raw doxygen docs <doxygen/annotated.html>`_.
|
||||
|
||||
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-vulkan-architecture.jpg
|
||||
:width: 100%
|
||||
|
||||
Manager
|
||||
-------
|
||||
|
||||
.. doxygenclass:: kp::Manager
|
||||
:members:
|
||||
|
||||
.. image:: ../images/kompute-vulkan-architecture-manager.jpg
|
||||
:width: 100%
|
||||
|
||||
Sequence
|
||||
-------
|
||||
|
||||
.. doxygenclass:: kp::Sequence
|
||||
:members:
|
||||
|
||||
.. image:: ../images/kompute-vulkan-architecture-sequence.jpg
|
||||
:width: 100%
|
||||
|
||||
Tensor
|
||||
-------
|
||||
|
||||
.. doxygenclass:: kp::Tensor
|
||||
:members:
|
||||
|
||||
.. image:: ../images/kompute-vulkan-architecture-tensor.jpg
|
||||
:width: 100%
|
||||
|
||||
Algorithm
|
||||
-------
|
||||
|
||||
.. doxygenclass:: kp::Algorithm
|
||||
:members:
|
||||
|
||||
.. image:: ../images/kompute-vulkan-architecture-algorithm.jpg
|
||||
:width: 100%
|
||||
|
||||
OpBase
|
||||
-------
|
||||
|
||||
.. doxygenclass:: kp::OpBase
|
||||
:members:
|
||||
|
||||
.. image:: ../images/kompute-vulkan-architecture-operations.jpg
|
||||
:width: 100%
|
||||
|
||||
OpAlgoBase
|
||||
-------
|
||||
|
||||
.. doxygenclass:: kp::OpAlgoBase
|
||||
:members:
|
||||
|
||||
.. image:: ../images/kompute-vulkan-architecture-opmult.jpg
|
||||
:width: 100%
|
||||
|
||||
OpMult
|
||||
-------
|
||||
|
||||
.. doxygenclass:: kp::OpMult
|
||||
:members:
|
||||
|
||||
.. image:: ../images/kompute-vulkan-architecture-opmult.jpg
|
||||
:width: 100%
|
||||
|
||||
OpCreateTensor
|
||||
-------
|
||||
|
||||
.. doxygenclass:: kp::OpCreateTensor
|
||||
:members:
|
||||
|
||||
.. image:: ../images/kompute-vulkan-architecture-opcreatetensor.jpg
|
||||
:width: 100%
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue