Adding further class reference

This commit is contained in:
Alejandro Saucedo 2020-10-17 20:10:25 +01:00
parent 946d421edc
commit 4e985a8fe0

View file

@ -12,90 +12,112 @@ Below is a diagram that provides insights on the relationship between Vulkan Kom
Manager Manager
------- -------
.. doxygenclass:: kp::Manager The Kompute Manager provides a high level interface to simplify interaction with underlying kp::Sequences of kp::Operations.
:members:
.. image:: ../images/kompute-vulkan-architecture-manager.jpg .. image:: ../images/kompute-vulkan-architecture-manager.jpg
:width: 100% :width: 100%
.. doxygenclass:: kp::Manager
:members:
Sequence Sequence
------- -------
.. doxygenclass:: kp::Sequence The Kompute Sequence consists of batches of kp::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 vk::Fence.
:members:
.. image:: ../images/kompute-vulkan-architecture-sequence.jpg .. image:: ../images/kompute-vulkan-architecture-sequence.jpg
:width: 100% :width: 100%
.. doxygenclass:: kp::Sequence
:members:
Tensor Tensor
------- -------
.. doxygenclass:: kp::Tensor The kp::Tensor is the atomic unit in Kompute, and it is used primarily for handling Host and GPU Device data.
:members:
.. image:: ../images/kompute-vulkan-architecture-tensor.jpg .. image:: ../images/kompute-vulkan-architecture-tensor.jpg
:width: 100% :width: 100%
.. doxygenclass:: kp::Tensor
:members:
Algorithm Algorithm
------- -------
.. doxygenclass:: kp::Algorithm The kp::Algorithm consists primarily of the components required for shader code execution, including the relevant vk::DescriptorSet relatedresources as well as vk::Pipeline and all the relevant Vulkan resources as outlined in the architectural diagram.
:members:
.. image:: ../images/kompute-vulkan-architecture-algorithm.jpg .. image:: ../images/kompute-vulkan-architecture-algorithm.jpg
:width: 100% :width: 100%
.. doxygenclass:: kp::Algorithm
:members:
OpBase OpBase
------- -------
.. doxygenclass:: kp::OpBase The kp::OpBase provides a top level class for an operation in Kompute, which is the step that is executed on a GPU submission. The Kompute operations can consist of one or more kp::Tensor.
:members:
.. image:: ../images/kompute-vulkan-architecture-operations.jpg .. image:: ../images/kompute-vulkan-architecture-operations.jpg
:width: 100% :width: 100%
.. doxygenclass:: kp::OpBase
:members:
OpAlgoBase OpAlgoBase
------- -------
The vk::OpAlgoBase extends the vk::OpBase class, and provides the base for shader-based operations. Besides of consisting of one or more vk::Tensor as per the vk::OpBase, it also contains a unique vk::Algorithm.
.. image:: ../images/kompute-vulkan-architecture-opmult.jpg
:width: 100%
.. doxygenclass:: kp::OpAlgoBase .. doxygenclass:: kp::OpAlgoBase
:members: :members:
.. image:: ../images/kompute-vulkan-architecture-opmult.jpg
:width: 100%
OpMult OpMult
------- -------
The kp::OpMult operation is a sample implementation of the kp::OpAlgoBase class. This class shows how it is possible to create a custom vk::OpAlgoBase that can compile as part of the binary. The kp::OpMult operation uses the shader-to-cpp-header-file script to convert the script into cpp header files.
.. image:: ../images/kompute-vulkan-architecture-opmult.jpg
:width: 100%
.. doxygenclass:: kp::OpMult .. doxygenclass:: kp::OpMult
:members: :members:
.. image:: ../images/kompute-vulkan-architecture-opmult.jpg
:width: 100%
OpTensorCreate OpTensorCreate
------- -------
.. doxygenclass:: kp::OpTensorCreate The kp::OpTensorCreate is a tensor only operations which initialises a kp::Tensor by creating the respective vk::Buffer and vk::Memory, as well as transferring the local data into the GPU.
:members:
.. image:: ../images/kompute-vulkan-architecture-opcreatetensor.jpg .. image:: ../images/kompute-vulkan-architecture-opcreatetensor.jpg
:width: 100% :width: 100%
OpTensorCreate .. doxygenclass:: kp::OpTensorCreate
:members:
OpTensorCopy
------- -------
The kp::OpTensorCopy is a tensor only operation that copies the GPU memory buffer data from one kp::Tensor to one or more subsequent tensors.
.. doxygenclass:: kp::OpTensorCopy .. doxygenclass:: kp::OpTensorCopy
:members: :members:
OpTensorSyncLocal OpTensorSyncLocal
------- -------
The kp::OpTensorSyncLocal is a tensor only operation that maps the data from the GPU device memory into the local host vector.
.. doxygenclass:: kp::OpTensorSyncLocal .. doxygenclass:: kp::OpTensorSyncLocal
:members: :members:
OpTensorSyncDevice OpTensorSyncDevice
------- -------
The kp::OpTensorSyncDevice is a tensor only operation that maps the data from the local host vector into the GPU device memory.
.. doxygenclass:: kp::OpTensorSyncDevice .. doxygenclass:: kp::OpTensorSyncDevice
:members: :members: