24.02.1
|
Go to the documentation of this file.
24 #ifndef SRC_DYNAMIC_FUSION_SKETCH_GPU_TEMPLATE_WRITER_IGPUTEMPLATECOMPONENTWRITER
25 #define SRC_DYNAMIC_FUSION_SKETCH_GPU_TEMPLATE_WRITER_IGPUTEMPLATECOMPONENTWRITER
37 namespace experimental
39 namespace dynamic_fusion
42 class GpuKernelComponentGroup;
43 class GpuKernelVariableTable;
69 virtual std::string
get_name()
const = 0;
115 return std::set<std::string>{};
virtual std::string get_component_code(const ComponentGroup &comp_group) const =0
Generate kernel component code template.
GpuKernelComponentGroup ComponentGroup
virtual TagLUT get_tag_lut(const GpuKernelVariableTable &vtable, const ComponentGroup &comp_group) const =0
Generate the tag look-up table used to instantiate the component code.
virtual std::set< std::string > get_headers_list() const
Generate the header list used in the component.
static constexpr GpuKernelArgumentInfo::Type common_tensor_type
For now all kernel intermeditate/destination tensors are expected to be of type Tensor_4D_t_Buffer.
std::unordered_map< Tag, TagVal > TagLUT
Tag lookup table.
IGpuTemplateComponentWriter(ComponentId id, const ArgumentPack< ITensorInfo > &tensors)
Constructor.
An interface used by ClTemplateWriter to write source code for a kernel component.
This is a generic class that packs the arguments of an operator.
virtual void declare_variables(GpuKernelVariableTable &vtable, const ComponentGroup &comp_group) const =0
Declare all variables used by the component in the vtable.
virtual CLBuildOptions get_build_options(const ComponentGroup &comp_group) const
Generate the build options used in the component.
ArgumentPack< ITensorInfo > tensors() const
Get tensor arguments.
ComponentId id() const
Get component id.
#define ARM_COMPUTE_UNUSED(...)
To avoid unused variables warnings.
int32_t ComponentId
Uniquely identifies a kernel component within a workload.
virtual std::string get_additional_macros() const
Generate additional macros used in the component.
Describe a multidimensional execution window.
virtual ~IGpuTemplateComponentWriter()
Destructor.
virtual std::string get_config_id() const
Generate the component config id string used for tuning.
Copyright (c) 2017-2024 Arm Limited.
virtual std::string get_name() const =0
Generate kernel component name.
A group of gpu kernel components to be fused together PRECONDITIONS:
virtual Window get_window() const
Generate the execution window for the component.
Type
Enumerate all the tensor arguments variants used by all kernel implementations.
A table of all the variables used in the kernel.