Added once again extended parameters to manager and sequence templates and reformatted

This commit is contained in:
Alejandro Saucedo 2020-08-29 16:03:01 +01:00
parent 2298159586
commit b9d210185b
8 changed files with 210 additions and 110 deletions

View file

@ -7,13 +7,15 @@
namespace kp {
/**
Abstraction for compute shaders that are run on top of tensors grouped via ParameterGroups (which group descriptorsets)
Abstraction for compute shaders that are run on top of tensors grouped via
ParameterGroups (which group descriptorsets)
*/
class Algorithm
{
public:
/**
Base constructor for Algorithm. Should not be used unless explicit intended.
Base constructor for Algorithm. Should not be used unless explicit
intended.
*/
Algorithm();
@ -21,27 +23,32 @@ class Algorithm
* Default constructor for Algorithm
*
* @param device The Vulkan device to use for creating resources
* @param commandBuffer The vulkan command buffer to bind the pipeline and shaders
*/
* @param commandBuffer The vulkan command buffer to bind the pipeline and
* shaders
*/
Algorithm(std::shared_ptr<vk::Device> device,
std::shared_ptr<vk::CommandBuffer> commandBuffer);
/**
* Initialiser for the shader data provided to the algoithm as well as tensor parameters that will be used in shader.
* Initialiser for the shader data provided to the algoithm as well as
* tensor parameters that will be used in shader.
*
* @param shaderFileData The bytes in spir-v format of the shader
* @tensorParams The Tensors to be used in the Algorithm / shader for processing
* @tensorParams The Tensors to be used in the Algorithm / shader for
* processing
*/
void init(const std::vector<char>& shaderFileData,
std::vector<std::shared_ptr<Tensor>> tensorParams);
/**
* Destructor for Algorithm which is responsible for freeing and desroying respective pipelines and owned parameter groups.
* Destructor for Algorithm which is responsible for freeing and desroying
* respective pipelines and owned parameter groups.
*/
~Algorithm();
/**
* Records the dispatch function with the provided template parameters or alternatively using the size of the tensor by default.
* Records the dispatch function with the provided template parameters or
* alternatively using the size of the tensor by default.
*
* @param x Layout X dispatch value
* @param y Layout Y dispatch value