8 #include <arm_compute/core/Types.h>
22 const arm_compute::TensorInfo neonOutputInfo = armcomputetensorutils::BuildArmComputeTensorInfo(output);
24 std::array<arm_compute::DataType,10> supportedTypes = {
25 arm_compute::DataType::BFLOAT16,
26 arm_compute::DataType::F16,
27 arm_compute::DataType::F32,
28 arm_compute::DataType::QASYMM8,
29 arm_compute::DataType::QASYMM8_SIGNED,
30 arm_compute::DataType::QSYMM16,
31 arm_compute::DataType::QSYMM8,
32 arm_compute::DataType::QSYMM8_PER_CHANNEL,
33 arm_compute::DataType::S32,
34 arm_compute::DataType::S64
36 auto it = std::find(begin(supportedTypes), end(supportedTypes), neonOutputInfo.data_type());
38 if (it != end(supportedTypes))
59 using namespace armcomputetensorutils;
70 arm_compute::ITensor& output =
71 PolymorphicDowncast<NeonTensorHandle*>(data.
m_Outputs[0])->GetTensor();
73 PolymorphicDowncast<NeonTensorHandle*>(data.
m_Outputs[0])->GetDataType();
75 switch (computeDataType)
77 case arm_compute::DataType::BFLOAT16:
82 case arm_compute::DataType::F16:
87 case arm_compute::DataType::F32:
92 case arm_compute::DataType::QASYMM8:
97 case arm_compute::DataType::QASYMM8_SIGNED:
102 case arm_compute::DataType::QSYMM16:
107 case arm_compute::DataType::QSYMM8:
108 case arm_compute::DataType::QSYMM8_PER_CHANNEL:
113 case arm_compute::DataType::S32:
118 case arm_compute::DataType::S64:
#define ARMNN_THROW_INVALIDARG_MSG_IF_FALSE(_cond, _str)
#define ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID(label)
Creates a profiling event that uses GetGuid() and GetName() from the calling class.
const T * GetConstTensor() const
NeonConstantWorkload(const ConstantQueueDescriptor &descriptor, const WorkloadInfo &info)
virtual void Execute() const override
Copyright (c) 2021 ARM Limited and Contributors.
arm_compute::Status NeonConstantWorkloadValidate(const TensorInfo &output)
const ConstTensorHandle * m_LayerOutput
std::vector< ITensorHandle * > m_Outputs
Contains information about TensorInfos of a layer.