2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // See LICENSE file in the project root for full license information.
6 #include "RefMultiplicationUint8Workload.hpp"
8 #include "Multiplication.hpp"
9 #include "RefWorkloadUtils.hpp"
11 #include "Profiling.hpp"
18 void RefMultiplicationUint8Workload::Execute() const
20 ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefMultiplicationUint8Workload_Execute");
22 const TensorInfo& inputInfo0 = GetTensorInfo(m_Data.m_Inputs[0]);
23 const TensorInfo& inputInfo1 = GetTensorInfo(m_Data.m_Inputs[1]);
24 const TensorInfo& outputInfo = GetTensorInfo(m_Data.m_Outputs[0]);
26 auto dequant0 = Dequantize(GetInputTensorDataU8(0, m_Data), inputInfo0);
27 auto dequant1 = Dequantize(GetInputTensorDataU8(1, m_Data), inputInfo1);
29 std::vector<float> results(outputInfo.GetNumElements());
30 Multiplication(dequant0.data(),
32 inputInfo0.GetNumElements(),
35 Quantize(GetOutputTensorDataU8(0, m_Data), results.data(), outputInfo);