8 #include <arm_compute/core/Types.h> 22 const arm_compute::TensorInfo neonOutputInfo = armcomputetensorutils::BuildArmComputeTensorInfo(output);
24 std::array<arm_compute::DataType,9> 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
35 auto it = std::find(begin(supportedTypes), end(supportedTypes), neonOutputInfo.data_type());
37 if (it != end(supportedTypes))
58 using namespace armcomputetensorutils;
69 arm_compute::ITensor& output =
70 PolymorphicDowncast<NeonTensorHandle*>(data.
m_Outputs[0])->GetTensor();
72 PolymorphicDowncast<NeonTensorHandle*>(data.
m_Outputs[0])->GetDataType();
74 switch (computeDataType)
76 case arm_compute::DataType::BFLOAT16:
81 case arm_compute::DataType::F16:
86 case arm_compute::DataType::F32:
91 case arm_compute::DataType::QASYMM8:
96 case arm_compute::DataType::QASYMM8_SIGNED:
101 case arm_compute::DataType::QSYMM16:
106 case arm_compute::DataType::QSYMM8:
107 case arm_compute::DataType::QSYMM8_PER_CHANNEL:
112 case arm_compute::DataType::S32:
NeonConstantWorkload(const ConstantQueueDescriptor &descriptor, const WorkloadInfo &info)
const ConstTensorHandle * m_LayerOutput
#define ARMNN_SCOPED_PROFILING_EVENT_NEON(name)
Copyright (c) 2021 ARM Limited and Contributors.
#define ARMNN_ASSERT_MSG(COND, MSG)
ConstantQueueDescriptor m_Data
#define ARMNN_ASSERT(COND)
virtual void Execute() const override
std::vector< ITensorHandle * > m_Outputs
Contains information about inputs and outputs to a layer.
arm_compute::Status NeonConstantWorkloadValidate(const TensorInfo &output)
const T * GetConstTensor() const