24.04
|
#include <GpuCkwMatMul.h>
Public Types | |
using | Attributes = ClComponentMatMul::Attributes |
using | Settings = ClComponentMatMul::Settings |
Public Types inherited from IGpuCkwComponentDriver | |
using | ComponentGroup = GpuKernelComponentGroup |
Public Member Functions | |
GpuCkwMatMul (ComponentId id, const ArgumentPack< ITensorInfo > &tensors, const Attributes &attributes, const Settings &settings) | |
Constructor. More... | |
ARM_COMPUTE_DISALLOW_COPY_ALLOW_MOVE (GpuCkwMatMul) | |
~GpuCkwMatMul () override=default | |
Destructor. More... | |
virtual void | write_component_code (const ComponentGroup &comp_group, GpuCkwVariableTable &vtable, GpuCkwScopedKernelWriter writer) const override |
Generate kernel component code. More... | |
Window | get_window () const override |
Generate the execution window for the component. More... | |
std::string | get_name (const ComponentGroup &comp_group) const override |
Generate the name of the component. More... | |
Public Member Functions inherited from IGpuCkwComponentDriver | |
IGpuCkwComponentDriver (ComponentId id, const ArgumentPack< ITensorInfo > &tensors) | |
Constructor. More... | |
virtual | ~IGpuCkwComponentDriver () |
Destructor. More... | |
ArgumentPack< ITensorInfo > | tensors () const |
Get tensor arguments. More... | |
virtual std::string | get_tuner_id (const ComponentGroup &comp_group) const |
Generate the tuner id of the component This id should capture all the parameters that distinguish one kernel's lws tuning from another. More... | |
ComponentId | id () const |
Get component id. More... | |
Definition at line 41 of file GpuCkwMatMul.h.
Definition at line 44 of file GpuCkwMatMul.h.
using Settings = ClComponentMatMul::Settings |
Definition at line 45 of file GpuCkwMatMul.h.
GpuCkwMatMul | ( | ComponentId | id, |
const ArgumentPack< ITensorInfo > & | tensors, | ||
const Attributes & | attributes, | ||
const Settings & | settings | ||
) |
Constructor.
For supported configurations please refer to ClComponentMatMul::validate()
[in] | id | Component id |
[in] | tensors | Tensor arguments to the component |
[in] | attributes | Component attributes. Attributes are a set of parameters that define what a component does |
[in] | settings | Component settings. Settings are a set of parameters that influence the implementation of a component |
Definition at line 48 of file GpuCkwMatMul.cpp.
References IGpuCkwComponentDriver::id(), and IGpuCkwComponentDriver::tensors().
|
overridedefault |
Destructor.
ARM_COMPUTE_DISALLOW_COPY_ALLOW_MOVE | ( | GpuCkwMatMul | ) |
|
overridevirtual |
Generate the name of the component.
This will be concatenated with other components' names to form the name of the kernel
Reimplemented from IGpuCkwComponentDriver.
Definition at line 255 of file GpuCkwMatMul.cpp.
References MatMulAttributes::adj_lhs(), MatMulAttributes::adj_rhs(), ARM_COMPUTE_UNUSED, ITensorInfo::dimension(), GpuMatMulSettings::k0(), kernel_name, GpuMatMulSettings::m0(), GpuMatMulSettings::n0(), ITensorInfo::tensor_shape(), arm_compute::support::cpp11::to_string(), Dimensions< T >::x(), and Dimensions< T >::y().
|
overridevirtual |
Generate the execution window for the component.
Reimplemented from IGpuCkwComponentDriver.
Definition at line 237 of file GpuCkwMatMul.cpp.
References MatMulAttributes::adj_lhs(), arm_compute::adjust_vec_size(), ARM_COMPUTE_ERROR_ON_MSG, arm_compute::calculate_max_window(), Window::collapse(), ITensorInfo::dimension(), Window::DimZ, GpuMatMulSettings::m0(), GpuMatMulSettings::n0(), ITensorInfo::tensor_shape(), TensorShape::total_size(), and arm_compute::utils::cast::U.
|
overridevirtual |
Generate kernel component code.
[in] | comp_group | Component group of which the component is a part of |
[in,out] | vtable | Table of variables declared by each component |
[in,out] | writer | CKW writer that writes code scoped to this kernel component. @note @p writer can only be passed via value since the new scope is created in the copy constructor |
Implements IGpuCkwComponentDriver.
Definition at line 60 of file GpuCkwMatMul.cpp.
References MatMulAttributes::adj_lhs(), arm_compute::adjust_vec_size(), IGpuKernelComponent::ckw_component_driver(), ITensorInfo::data_type(), GpuCkwVariableTable::declare_variable(), ITensorInfo::dimension(), arm_compute::test::validation::dst, arm_compute::experimental::dynamic_fusion::get_coordinate_from_gws(), arm_compute::experimental::dynamic_fusion::get_coordinate_from_gws_overlapping_min(), GpuKernelComponentGroup::get_root_component(), IGpuCkwComponentDriver::get_window(), GpuMatMulSettings::k0(), tf_frozen_model_extractor::None, Window::Dimension::step(), GpuCkwComponentArgument::tensor(), arm_compute::experimental::dynamic_fusion::to_ckw(), and Window::x().