From a983e4699082a0b1ef685bab7354f2ad9cd37a44 Mon Sep 17 00:00:00 2001 From: Colm Donelan Date: Wed, 20 May 2020 16:12:19 +0100 Subject: Updating Doxygen documentation for 20.05 release. Change-Id: I4d624343ed5fd6ae269c3d53532903084508fd14 Signed-off-by: Colm Donelan --- 20.05/_conv_impl_8hpp_source.xhtml | 129 +++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 20.05/_conv_impl_8hpp_source.xhtml (limited to '20.05/_conv_impl_8hpp_source.xhtml') diff --git a/20.05/_conv_impl_8hpp_source.xhtml b/20.05/_conv_impl_8hpp_source.xhtml new file mode 100644 index 0000000000..f804aee4c1 --- /dev/null +++ b/20.05/_conv_impl_8hpp_source.xhtml @@ -0,0 +1,129 @@ + + + + + + + + + + + + + +ArmNN: src/backends/reference/workloads/ConvImpl.hpp Source File + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  20.05 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ConvImpl.hpp
+
+
+Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include "RefWorkloadUtils.hpp"
10 #include "BaseIterator.hpp"
11 #include "Decoders.hpp"
12 #include "Encoders.hpp"
13 
14 #include <armnn/Tensor.hpp>
15 
17 
18 #include <boost/numeric/conversion/cast.hpp>
19 
20 #include <cmath>
21 #include <limits>
22 
23 namespace armnn
24 {
25 
26 /// Performs multiplication of an integer with a multiplier which is less than one,
27 /// using quantized integer arithmetic which is consistent with AndroidNN's CPU executor.
29 {
30 public:
31  /// Constructs a QuantizedMultiplierSmallerThanOne which will multiply by the given multiplier.
32  /// This stores the appropriate integer quantities (derived from the given multiplier) for later use.
33  /// The implementation of this function is adapted from Android NN's QuantizeMultiplierSmallerThanOne().
34  QuantizedMultiplierSmallerThanOne(float multiplier);
35 
36  /// The implementation of this function is adapted from Android NN's MultiplyByQuantizedMultiplierSmallerThanOne().
37  int32_t operator*(int32_t rhs) const;
38 
39 private:
40  /// The implementation of this function is adapted from gemmlowp's SaturatingRoundingDoublingHighMul().
41  static int32_t SaturatingRoundingDoublingHighMul(int32_t a, int32_t b);
42 
43  /// The implementation of this function is adapted from gemmlowp's RoundingDivideByPOT().
44  static int32_t RoundingDivideByPOT(int32_t x, int exponent);
45 
46  int32_t m_Multiplier;
47  int32_t m_RightShift;
48 };
49 
50 void Convolve(const TensorShape& rInputShape,
51  Decoder<float>& rInputDecoder,
52  const TensorShape& rOutputShape,
53  Encoder<float>& rOutputEncoder,
54  const TensorShape& rFilterShape,
55  Decoder<float>& rFilterDecoder,
56  bool biasEnabled,
57  Decoder<float>* pBiasDecoder,
58  DataLayout dataLayout,
59  unsigned int paddingTop,
60  unsigned int paddingLeft,
61  unsigned int xStride,
62  unsigned int yStride,
63  unsigned int xDilation,
64  unsigned int yDilation,
65  bool depthwise = false);
66 } //namespace armnn
+
DataLayout
Definition: Types.hpp:49
+ + +
int32_t operator*(int32_t rhs) const
The implementation of this function is adapted from Android NN&#39;s MultiplyByQuantizedMultiplierSmaller...
Definition: ConvImpl.cpp:41
+ +
Copyright (c) 2020 ARM Limited.
+ +
Performs multiplication of an integer with a multiplier which is less than one, using quantized integ...
Definition: ConvImpl.hpp:28
+ + +
QuantizedMultiplierSmallerThanOne(float multiplier)
Constructs a QuantizedMultiplierSmallerThanOne which will multiply by the given multiplier.
Definition: ConvImpl.cpp:16
+ +
void Convolve(const TensorShape &rInputShape, Decoder< float > &rInputDecoder, const TensorShape &rOutputShape, Encoder< float > &rOutputEncoder, const TensorShape &rFilterShape, Decoder< float > &rFilterDecoder, bool biasEnabled, Decoder< float > *pBiasDecoder, DataLayout dataLayout, unsigned int paddingTop, unsigned int paddingLeft, unsigned int xStride, unsigned int yStride, unsigned int xDilation, unsigned int yDilation, bool depthwise)
Definition: ConvImpl.cpp:71
+ + +
+
+ + + + -- cgit v1.2.1