24.02.1
|
#include <ClTemplateElementwiseBinary.h>
Public Types | |
using | Attributes = ClComponentElementwiseBinary::Attributes |
Public Types inherited from IGpuTemplateComponentWriter | |
using | ComponentGroup = GpuKernelComponentGroup |
Public Member Functions | |
ClTemplateElementwiseBinary (ComponentId id, const ArgumentPack< ITensorInfo > &tensors, const Attributes &attributes) | |
Constructor. More... | |
ClTemplateElementwiseBinary (const ClTemplateElementwiseBinary &elementwise)=delete | |
Prevent instances of this class from being copy constructed. More... | |
ClTemplateElementwiseBinary & | operator= (const ClTemplateElementwiseBinary &elementwise)=delete |
Prevent instances of this class from being copied. More... | |
ClTemplateElementwiseBinary (ClTemplateElementwiseBinary &&elementwise)=default | |
Allow instances of this class to be move constructed. More... | |
ClTemplateElementwiseBinary & | operator= (ClTemplateElementwiseBinary &&elementwise)=default |
Allow instances of this class to be moved. More... | |
std::string | get_name () const override |
Generate kernel component name. More... | |
std::string | get_component_code (const ComponentGroup &comp_group) const override |
Generate kernel component code template. More... | |
void | declare_variables (GpuKernelVariableTable &vtable, const ComponentGroup &comp_group) const override |
Declare all variables used by the component in the vtable . More... | |
TagLUT | get_tag_lut (const GpuKernelVariableTable &vtable, const ComponentGroup &comp_group) const override |
Generate the tag look-up table used to instantiate the component code. More... | |
CLBuildOptions | get_build_options (const ComponentGroup &comp_group) const override |
Generate the build options used in the component. More... | |
std::string | get_config_id () const override |
Generate the component config id string used for tuning. More... | |
std::set< std::string > | get_headers_list () const override |
Generate the header list used in the component. More... | |
Window | get_window () const override |
Generate the execution window for the component. More... | |
Public Member Functions inherited from IGpuTemplateComponentWriter | |
IGpuTemplateComponentWriter (ComponentId id, const ArgumentPack< ITensorInfo > &tensors) | |
Constructor. More... | |
virtual | ~IGpuTemplateComponentWriter () |
Destructor. More... | |
virtual std::string | get_additional_macros () const |
Generate additional macros used in the component. More... | |
ArgumentPack< ITensorInfo > | tensors () const |
Get tensor arguments. More... | |
ComponentId | id () const |
Get component id. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from IGpuTemplateComponentWriter | |
static constexpr GpuKernelArgumentInfo::Type | common_tensor_type = GpuKernelArgumentInfo::Type::Tensor_4D_t_Buffer |
For now all kernel intermeditate/destination tensors are expected to be of type Tensor_4D_t_Buffer. More... | |
Definition at line 39 of file ClTemplateElementwiseBinary.h.
Definition at line 42 of file ClTemplateElementwiseBinary.h.
ClTemplateElementwiseBinary | ( | ComponentId | id, |
const ArgumentPack< ITensorInfo > & | tensors, | ||
const Attributes & | attributes | ||
) |
Constructor.
Similar to ClComponentElementwiseBinary::validate()
[in] | id | Component id |
[in] | tensors | Tensor arguments to the components |
[in] | attributes | Component attributes |
Definition at line 43 of file ClTemplateElementwiseBinary.cpp.
References IGpuTemplateComponentWriter::id(), and IGpuTemplateComponentWriter::tensors().
|
delete |
Prevent instances of this class from being copy constructed.
|
default |
Allow instances of this class to be move constructed.
|
overridevirtual |
Declare all variables used by the component in the vtable
.
[out] | vtable | Variable table |
[in] | comp_group | Component group of which the component is a part of |
Implements IGpuTemplateComponentWriter.
Definition at line 118 of file ClTemplateElementwiseBinary.cpp.
|
overridevirtual |
Generate the build options used in the component.
[in] | comp_group | Component group of which the component is a part of |
NOTE: For now tile sizes (n0, m0) are set by the execution window. This may change in the future
Reimplemented from IGpuTemplateComponentWriter.
Definition at line 194 of file ClTemplateElementwiseBinary.cpp.
|
overridevirtual |
Generate kernel component code template.
[in] | comp_group | Component group of which the component is a part of |
Implements IGpuTemplateComponentWriter.
Definition at line 59 of file ClTemplateElementwiseBinary.cpp.
References GpuKernelComponentGroup::get_root_component(), IGpuKernelComponent::id(), IGpuTemplateComponentWriter::id(), and GpuKernelComponentGroup::is_input_tensor().
|
overridevirtual |
Generate the component config id string used for tuning.
Reimplemented from IGpuTemplateComponentWriter.
Definition at line 211 of file ClTemplateElementwiseBinary.cpp.
|
overridevirtual |
Generate the header list used in the component.
Reimplemented from IGpuTemplateComponentWriter.
Definition at line 225 of file ClTemplateElementwiseBinary.cpp.
|
overridevirtual |
Generate kernel component name.
Implements IGpuTemplateComponentWriter.
Definition at line 54 of file ClTemplateElementwiseBinary.cpp.
|
overridevirtual |
Generate the tag look-up table used to instantiate the component code.
[in] | vtable | Variable table |
[in] | comp_group | Component group of which the component is a part of |
Implements IGpuTemplateComponentWriter.
Definition at line 128 of file ClTemplateElementwiseBinary.cpp.
|
overridevirtual |
Generate the execution window for the component.
Reimplemented from IGpuTemplateComponentWriter.
Definition at line 230 of file ClTemplateElementwiseBinary.cpp.
|
default |
Allow instances of this class to be moved.
|
delete |
Prevent instances of this class from being copied.