24.04
|
#include <GpuCast.h>
Public Types | |
using | Attributes = CastAttributes |
Attributes are a set of backend-agnostic parameters that define what an operator does. More... | |
Static Public Member Functions | |
static ITensorInfo * | create_op (GpuWorkloadSketch &sketch, ITensorInfo *src, const Attributes &attributes) |
Create an operator and fuse it into the workload sketch. More... | |
static Status | is_supported_op (const GpuWorkloadContext &context, const ITensorInfo *src, const Attributes &attributes) |
Check if the operator configuration is supported, irrespective of fusion. More... | |
static Status | validate_op (const GpuWorkloadSketch &sketch, const ITensorInfo *src, const Attributes &attributes) |
Validate the operator and check if the its configuration is supported and if it can be fused into the workload sketch. More... | |
using Attributes = CastAttributes |
|
static |
Create an operator and fuse it into the workload sketch.
sketch
remains unchanged and valid.Valid data type configurations:
src | dst |
---|---|
F16 | F32 |
F32 | F16 |
Input data type must be different than output data type.
Valid data layouts:
[in,out] | sketch | Workload sketch into which the operator will be fused |
[in] | src | Left hand side tensor info. Data types supported: U8/S8/U16/S16/U32/S32/F16/F32. |
[in] | attributes | Operator attributes |
Definition at line 119 of file GpuCast.cpp.
References arm_compute::ACL_DST_0, arm_compute::ACL_SRC_0, ArgumentPack< T >::add_const_tensor(), GpuKernelComponentGraph::add_new_component(), GpuOperatorGroup::add_operator(), ARM_COMPUTE_ERROR, ARM_COMPUTE_ERROR_ON, ARM_COMPUTE_ERROR_ON_NULLPTR, ARM_COMPUTE_ERROR_THROW_ON, ARM_COMPUTE_LOG_PARAMS, arm_compute::auto_init_if_empty(), GpuWorkloadSketch::Implementation::component_graph(), GpuWorkloadSketch::Implementation::context(), GpuWorkloadSketch::Implementation::create_virtual_tensor(), CastAttributes::data_type(), arm_compute::test::validation::dst, GpuWorkloadSketch::implementation(), GpuOperatorGroup::new_operator(), arm_compute::experimental::dynamic_fusion::OpenCL, GpuWorkloadSketch::Implementation::operator_group(), UnitWorkloadStage::Run, arm_compute::test::validation::sketch, arm_compute::test::validation::src, KernelProperties::stage(), and GpuCast::validate_op().
Referenced by arm_compute::test::validation::TEST_CASE().
|
static |
Check if the operator configuration is supported, irrespective of fusion.
[in] | context | Workload context within which the operator is running |
[in] | src | Left hand side tensor info. Data types supported: All. |
[in] | attributes | Operator attributes |
Definition at line 90 of file GpuCast.cpp.
References arm_compute::test::validation::context, and arm_compute::test::validation::src.
|
static |
Validate the operator and check if the its configuration is supported and if it can be fused into the workload sketch.
Parameters are similar to GpuCast::create_op()
Definition at line 95 of file GpuCast.cpp.
References arm_compute::ACL_DST_0, arm_compute::ACL_SRC_0, ArgumentPack< T >::add_const_tensor(), ARM_COMPUTE_RETURN_ERROR_ON, ARM_COMPUTE_RETURN_ERROR_ON_MSG, ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR, arm_compute::auto_init_if_empty(), CastAttributes::data_type(), GpuWorkloadSketch::gpu_context(), GpuWorkloadSketch::implementation(), GpuOperatorGroup::new_operator(), GpuWorkloadSketch::Implementation::operator_group(), arm_compute::test::validation::sketch, arm_compute::test::validation::src, and GpuOperatorGroup::try_add_operator().
Referenced by GpuCast::create_op().