24.04
|
#include <GpuCkwElementwiseBinary.h>
Public Types | |
using | Attributes = ClComponentElementwiseBinary::Attributes |
Public Types inherited from IGpuCkwComponentDriver | |
using | ComponentGroup = GpuKernelComponentGroup |
Public Member Functions | |
GpuCkwElementwiseBinary (ComponentId id, const ArgumentPack< ITensorInfo > &tensors, const Attributes &attributes) | |
Constructor. More... | |
ARM_COMPUTE_DISALLOW_COPY_ALLOW_MOVE (GpuCkwElementwiseBinary) | |
~GpuCkwElementwiseBinary () 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 37 of file GpuCkwElementwiseBinary.h.
Definition at line 40 of file GpuCkwElementwiseBinary.h.
GpuCkwElementwiseBinary | ( | ComponentId | id, |
const ArgumentPack< ITensorInfo > & | tensors, | ||
const Attributes & | attributes | ||
) |
Constructor.
For supported configurations please refer to ClComponentElementwiseBinary::validate()
[in] | id | Component id |
[in] | tensors | Tensor arguments to the component |
[in] | attributes | Component attributes |
Definition at line 54 of file GpuCkwElementwiseBinary.cpp.
References IGpuCkwComponentDriver::id(), and IGpuCkwComponentDriver::tensors().
|
overridedefault |
Destructor.
ARM_COMPUTE_DISALLOW_COPY_ALLOW_MOVE | ( | GpuCkwElementwiseBinary | ) |
|
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 420 of file GpuCkwElementwiseBinary.cpp.
References ARM_COMPUTE_UNUSED, ITensorInfo::data_type(), arm_compute::join(), arm_compute::lower_string(), ElementwiseBinaryCommonAttributes::operation(), arm_compute::string_from_data_type(), and arm_compute::to_string().
|
overridevirtual |
Generate the execution window for the component.
Reimplemented from IGpuCkwComponentDriver.
Definition at line 404 of file GpuCkwElementwiseBinary.cpp.
References arm_compute::adjust_vec_size(), ARM_COMPUTE_ERROR_ON_MSG, arm_compute::calculate_max_window(), TensorShape::collapse(), ITensorInfo::dimension(), ITensorInfo::element_size(), num_elems_processed_per_iteration, arm_compute::test::validation::output_shape, 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 65 of file GpuCkwElementwiseBinary.cpp.
References ARM_COMPUTE_ERROR_ON_MSG, 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(), GpuCkwComponentArgument::has_tile(), GpuCkwComponentArgument::init_virtual_tensor(), tf_frozen_model_extractor::None, Window::Dimension::step(), GpuCkwComponentArgument::tensor(), GpuCkwComponentArgument::tile(), arm_compute::experimental::dynamic_fusion::to_ckw(), and Window::x().