platform/upstream/armnn.git
5 years agoIVGCVSW-3179 Extend floor workload to support QSymm16
James Conroy [Tue, 4 Jun 2019 11:32:09 +0000 (12:32 +0100)]
IVGCVSW-3179 Extend floor workload to support QSymm16

 * Added support for QSymm16 in Floor workload
 * Added unit test for QSymm16 Floor

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I6d36a07b3cfff212056125232f7842ca04bf4947

5 years agoMLCE-124 Fix install target wrt serializer and tflite parser
Matthew Bentham [Mon, 3 Jun 2019 12:00:50 +0000 (13:00 +0100)]
MLCE-124 Fix install target wrt serializer and tflite parser

Change-Id: If38336f1678504849edb0134a59daae1c8d9ef92
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
5 years agoIVGCVSW-3148 Add end to end test for Dequantize layer to Ref, Cl, Neon
Narumol Prangnawarat [Fri, 31 May 2019 15:42:11 +0000 (16:42 +0100)]
IVGCVSW-3148 Add end to end test for Dequantize layer to Ref, Cl, Neon

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Iaf9c290c093b7d84949993439568e55433938b4e

5 years agoIVGCVSW-3182 Updated Validation files
FinnWilliamsArm [Fri, 31 May 2019 09:23:06 +0000 (10:23 +0100)]
IVGCVSW-3182 Updated Validation files

 * Validation files need to be changed due to image pre-processor fix:
   IVGCVSW-3129
 * Updated TfLiteVGG16Quantized-Armnn Validation.txt
 * Updated TfLiteMobileNetQuantizedSoftmax Validation.txt

Change-Id: I801978cc9d658542e5b5d966347de3381191ad66
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
5 years agoIVGCVSW-3177 Refactor Floor reference workload
James Conroy [Thu, 30 May 2019 15:36:59 +0000 (16:36 +0100)]
IVGCVSW-3177 Refactor Floor reference workload

 * Renamed RefFloorFloat32Workload to RefFloorWorkload
   and updated references to reflect this change.
 * RefFloorWorkload now uses Decoders/Encoders and
   supports the use of multiple data types.
 * Deleted FloorTestImpl.hpp and moved its contents
   into LayerTests.hpp.

Change-Id: Ie079d05f2f6a578172f0fe3024f9607c030bce64
Signed-off-by: James Conroy <james.conroy@arm.com>
5 years agoIVGCVSW-3147 Add CL Dequantization workload
Jim Flynn [Wed, 29 May 2019 15:20:16 +0000 (16:20 +0100)]
IVGCVSW-3147 Add CL Dequantization workload

Change-Id: I9baf6af3d98a26005a31075cd9c4e1f40938789b
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-3195 Extend reference SpaceToBatch workload to support QSymm16
nikraj01 [Fri, 31 May 2019 10:33:07 +0000 (11:33 +0100)]
IVGCVSW-3195 Extend reference SpaceToBatch workload to support QSymm16

Change-Id: I253eee2bbe1f48b94b03936af8f18603c1d58986
Signed-off-by: nikraj01 <nikhil.raj@arm.com>
5 years agoIVGCVSW-3165 Added accidentally removed CreateFakeQuantization Function
Sadik Armagan [Fri, 31 May 2019 09:19:03 +0000 (10:19 +0100)]
IVGCVSW-3165 Added accidentally removed CreateFakeQuantization Function

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I50a1a364f13df03dea0833023ec0f2c2794f24db

5 years agoIVGCVSW-3171 Extend the Strided Slice Ref workload to support the QSymm16
Matteo Martincigh [Wed, 29 May 2019 07:53:41 +0000 (08:53 +0100)]
IVGCVSW-3171 Extend the Strided Slice Ref workload to support the QSymm16

 * Added support for QSymm16 in the Strided Slice workload
 * Added unit tests

Change-Id: I84485bc2fd5ad2b4edb49c644b644878e0e5aded
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3170 Refactor the Strided Slice Ref workload for Float32 and
Matteo Martincigh [Tue, 28 May 2019 13:31:20 +0000 (14:31 +0100)]
IVGCVSW-3170 Refactor the Strided Slice Ref workload for Float32 and
QAsymm8 types

 * RefStridedSliceWorkload is no longer a template class
 * Refactoring of the ref StridedSlice implementation
 * Added ValidateTensorQuantizationSpace function

Change-Id: Ifa182a33d79d42137731f48b995a7973c9d92152
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3148 Add Neon backend support for Dequantize
Narumol Prangnawarat [Thu, 30 May 2019 15:47:12 +0000 (16:47 +0100)]
IVGCVSW-3148 Add Neon backend support for Dequantize

 * Add NeonDequantizeWorkload
 * Add IsDequantizeSupported to call validate from ACL function
 * Add CreateDequantize to NeonWorkloadFactory
 * Unit tests

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I96a216ef78cc3f6a57aa439a16ae6aafd783ff93

5 years agoIVGCVSW-3186 Add ClQuantizeWorkload
Sadik Armagan [Fri, 31 May 2019 08:09:44 +0000 (09:09 +0100)]
IVGCVSW-3186 Add ClQuantizeWorkload

 * Added ClQuantizeWorkload to enable quantization on CL backend

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Id49d5ec29514f6f853c2500a34b1a12444c49168

5 years agoIVGCVSW-3185 Add NeonQuantizeWorkload
Sadik Armagan [Fri, 31 May 2019 08:05:11 +0000 (09:05 +0100)]
IVGCVSW-3185 Add NeonQuantizeWorkload

 * Added NeonQuantizeWorkload to ArmNN

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I41f8707dda35c894841eddae2d3b78f088038c8e

5 years agoIVGCVSW-3194 Refactor SpaceToBatchNd workload
nikraj01 [Thu, 30 May 2019 16:29:32 +0000 (17:29 +0100)]
IVGCVSW-3194 Refactor SpaceToBatchNd workload

Change-Id: Iac2ded9b20c37299e3de51465dcbfb5a7bfc52d5
Signed-off-by: nikraj01 <nikhil.raj@arm.com>
5 years agoIVGCVSW-3159 Support QSymm16 for Splitter workloads
Ruomei Yan [Tue, 28 May 2019 15:48:20 +0000 (16:48 +0100)]
IVGCVSW-3159 Support QSymm16 for Splitter workloads

Change-Id: I9af5d2d8ade97b9ecd2e6fbf13db9fa3bb622ed8
Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
5 years agoIVGCVSW-3182 Corrected expected model predictions
FinnWilliamsArm [Wed, 29 May 2019 12:42:37 +0000 (13:42 +0100)]
IVGCVSW-3182 Corrected expected model predictions

 * Changed expected predictions for TfLiteVGG16Quantized-Armnn.cpp

 * Changed expected predictions for TfLiteMobileNetQuantizedSoftmax-Armnn

Change-Id: I3fe0bd3f6e44655b14b10887bc40fb0df31f81c8
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
5 years agofix reference IsConvolution2dSupported error messages
Les Bell [Thu, 30 May 2019 08:08:51 +0000 (09:08 +0100)]
fix reference IsConvolution2dSupported error messages

Signed-off-by: Les Bell <les.bell@arm.com>
Change-Id: Id454ac91ae1c0216f5ecfa1c3cde9430691f51f4

5 years agoIVGCVSW-2771 Add more end to end tests for splitter on Cl, Neon, Ref
Narumol Prangnawarat [Wed, 29 May 2019 13:12:46 +0000 (14:12 +0100)]
IVGCVSW-2771 Add more end to end tests for splitter on Cl, Neon, Ref
to cover different number of dimensions and split axis

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ia9a111c8dcfc08d04b54aa770d1ae5312c6b1c93

5 years agoMLCE-119: Allow deph multipliers 2 and 3
Pablo Tello [Wed, 29 May 2019 13:09:19 +0000 (14:09 +0100)]
MLCE-119: Allow deph multipliers 2 and 3

We had check in the parser to catch calls where deph_mult > 1, this came from
the time when ACL supported only multiplier == 1.

Change-Id: Ic21a2cd6a5bb328d43fc9c667e847429a57760b2
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
5 years agoIVGCVSW-3173 Extend reference softmax workload to support qsymm16
nikraj01 [Wed, 29 May 2019 15:46:50 +0000 (16:46 +0100)]
IVGCVSW-3173 Extend reference softmax workload to support qsymm16

Change-Id: I9ad5a04368a4587588d733ac36ad157f79b6c432
Signed-off-by: nikraj01 <nikhil.raj@arm.com>
5 years agoDon't add redundant copies
Derek Lamberti [Wed, 29 May 2019 14:24:52 +0000 (15:24 +0100)]
Don't add redundant copies

Change-Id: I117698ef6f96d250d55f0d9996319d45450e0c9b
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoIVGCVSW-3172 Add QSymm16 support for reshape workload
Nina Drozd [Wed, 29 May 2019 09:41:04 +0000 (10:41 +0100)]
IVGCVSW-3172 Add QSymm16 support for reshape workload

* Added QSymm16 to supported types in WorkloadData
* Added QSymm16 to supported types in RefLayerSupport
* Created templated SimpleReshapeTest in LayerTests
* Updated ClLayerTests to use templated SimpleReshapeTest
* Updated NeonLayerTests to use templated SimpleReshapeTest
* Added test for QSymm16 to RefCreateWorkloadTests, RefLayerTests
* Removed ReshapeTestImpl as all reshape test methods were moved
* Added FloorTestImpl for existing SimpleFloorTest

Change-Id: I78efede8aab74c2d4cb0841dd426b8e06186133d
Signed-off-by: Nina Drozd <nina.drozd@arm.com>
5 years agoIVGCVSW-2992 Document Concat layer rename
Jim Flynn [Wed, 29 May 2019 09:44:06 +0000 (10:44 +0100)]
IVGCVSW-2992 Document Concat layer rename

Change-Id: I499591ef268f8da8e08f22fd25eaf5e6c6caf5d9
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-2745 Unit test error running ArmNN on Raspberry Pi
Conor Kennedy [Mon, 27 May 2019 12:20:38 +0000 (13:20 +0100)]
IVGCVSW-2745 Unit test error running ArmNN on Raspberry Pi

 * Fix bad_alloc on NeonTimerMeasure test

Change-Id: Ia4ab24abfe0305a3d7773162dc423bc049e1a3cc
Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
5 years agoIVGCVSW-3168 Refactor reference softmax workload into a single workload
nikraj01 [Wed, 29 May 2019 09:51:05 +0000 (10:51 +0100)]
IVGCVSW-3168 Refactor reference softmax workload into a single workload

Change-Id: Ie290efcbb9e3a6365cbd630cb2041e7b0f542505
Signed-off-by: nikraj01 <nikhil.raj@arm.com>
5 years agoIVGCVSW-3119 Rename MergerLayer to ConcatLayer
Jim Flynn [Wed, 22 May 2019 13:24:13 +0000 (14:24 +0100)]
IVGCVSW-3119 Rename MergerLayer to ConcatLayer

!android-nn-driver:1210

Change-Id: I940b3b9e421c92bfd55ae996f7bc54ac077f2604
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-3145 Refactor Reference Reshape workloads
Nina Drozd [Mon, 27 May 2019 09:37:05 +0000 (10:37 +0100)]
IVGCVSW-3145 Refactor Reference Reshape workloads

* Removed reference reshape workloads for float32 and uint8
* Added RefReshapeWorkload
* Added check for supported datatypes for reshape in WorkloadData
* Added check for supported datatypes for reshape in RefLayerSupport
* Updated CMakeLists.txt
* Updated references to reshape workloads

Signed-off-by: Nina Drozd <nina.drozd@arm.com>
Change-Id: I9941659067b022f8f7686ab0ff14776944dca3e5

5 years agoIVGCVSW-2771 Add end to end tests for splitter on Cl, Neon, Ref
Narumol Prangnawarat [Mon, 27 May 2019 10:29:59 +0000 (11:29 +0100)]
IVGCVSW-2771 Add end to end tests for splitter on Cl, Neon, Ref

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I44f8f1799f6182721751b1d117c9ada5b91f52e1

5 years agoIVGCVSW-3033 Unit test using a MockBackend to validate Optimizer
David Monahan [Mon, 27 May 2019 08:44:52 +0000 (09:44 +0100)]
IVGCVSW-3033 Unit test using a MockBackend to validate Optimizer

Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I5b446905c496001ba3c48ad5090e79e80d060d4e

5 years agoIVGCVSW-2970 Support QSymm16 for FullyConnected workloads
Francis Murtagh [Tue, 28 May 2019 07:15:28 +0000 (08:15 +0100)]
IVGCVSW-2970 Support QSymm16 for FullyConnected workloads

 * Add support for QSymm16 for FullyConnected
 * Add templating to Uint8 RefLayerTest to test QSymm16

Change-Id: Ie6e989daf2ca966d6c6805b8017126eb77ebfec4
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3129 Image pre-processing fix for TFLite
FinnWilliamsArm [Wed, 22 May 2019 13:50:55 +0000 (14:50 +0100)]
IVGCVSW-3129 Image pre-processing fix for TFLite

 * Resized images for quantized models are now statically cast to uint8
   instead of quantized

 * Removed optional quantization parameters from ImagePreprocessor
   constructor

 * Changed mean and scale for TFLite models

Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: Id5ffdf77f3614d10c417e769bd8ffc4a4c07308b

5 years agoIVGCVSW-3134 Refactor FullyConnected workloads into single workload
Francis Murtagh [Mon, 27 May 2019 11:14:10 +0000 (12:14 +0100)]
IVGCVSW-3134 Refactor FullyConnected workloads into single workload

 * Refactor FullyConnected workloads into single workload.
 * Refactor FullyConnected ref implementation to use Encoders
   and Decoders to support all DataTypes.
 * Deleted RefFullyConnectedFloat32Workload and
   RefFullyConnected2dUint8Workload.

Change-Id: Iad30fb0287ab7491e1297997e7d61f1d00785541
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3033 Adding MockLayerSupport to MockBackend
David Monahan [Fri, 24 May 2019 09:46:28 +0000 (10:46 +0100)]
IVGCVSW-3033 Adding MockLayerSupport to MockBackend

Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I90903af1b8c961a7727da9172a7f02031521a6ad

5 years agoMake the script for getting the compute library more robust
Matteo Martincigh [Thu, 23 May 2019 15:03:55 +0000 (16:03 +0100)]
Make the script for getting the compute library more robust

 * Added an extra git fetch without specifying the remote to
   allow fetching from wathever remote one is using
 * Fixes a failure in our setup agents jobs

Change-Id: I64b034eec5fba5c8b113e89b5bb5724fb978e511
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-2771 Fix SubTensor error in vgg16 ExecuteNetwork CL
Narumol Prangnawarat [Thu, 23 May 2019 14:07:33 +0000 (15:07 +0100)]
IVGCVSW-2771 Fix SubTensor error in vgg16 ExecuteNetwork CL

 * Add check if Sub-tensors cannot be used, call ACL function
 * Add ClSplitterWorkload functions
 * Modify IsSplitterSupported to call ACL validate function
if sub-tensor cannot be used
 * Also check if quantization parameters match when using sub-tensors

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I5dfd0e422b7d485dd4421a664add83d870bec5d6

5 years agoIVGCVSW-3026 Extend RefConvolution2dWorkload to support QSymm16
Mike Kelly [Thu, 16 May 2019 11:41:34 +0000 (12:41 +0100)]
IVGCVSW-3026 Extend RefConvolution2dWorkload to support QSymm16

 * Added QuantisedSymm16 as supported type for Conv2D
 * Added Unit Tests for QSymm16

Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I4a8176091e75abfb0ea3a4b913c213111512df75

5 years agoIVGCVSW-3074 Extend the DepthwiseConvolution2d workload to support QSymm16
Ruomei Yan [Thu, 23 May 2019 13:29:06 +0000 (14:29 +0100)]
IVGCVSW-3074 Extend the DepthwiseConvolution2d workload to support QSymm16

Change-Id: I47bb0f782acfa5b2d2fee9132875f9a655ea635e
Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
5 years agoIVGCVSW-3082 Fix layer execution order after a subgraph substitution
Matteo Martincigh [Thu, 23 May 2019 12:56:01 +0000 (13:56 +0100)]
IVGCVSW-3082 Fix layer execution order after a subgraph substitution

 * Moved the topological sort after the replacement of the subgraph
   connections (during a subgraph substitution), as the correct
   connections are required when sorting the graph

Change-Id: I7c7ce542068a05b9b5ca36f5bd3f460a5eb97afd
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-2771 Fix SubTensor error in vgg16 ExecuteNetwork NEON
Narumol Prangnawarat [Mon, 20 May 2019 14:31:05 +0000 (15:31 +0100)]
IVGCVSW-2771 Fix SubTensor error in vgg16 ExecuteNetwork NEON

 * Add check if Sub-tensors cannot be used, call ACL function
 * Add computation of SplitAxis from SplitterDescriptor
 * Add NeonSplitterWorkload functions
 * Modify IsSplitterSupported to call ACL validate function
if sub-tensor cannot be used
 * Also check if quantization parameters match when using sub-tensors
 * Add more unit tests for Splitter in TfParser and TfLiteParser

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I31e4c7d055117c83c65b598c4125442173242226

5 years agoIVGCVSW-3073 Refactor reference DepthwiseConvolution2d workloads
Ruomei Yan [Thu, 23 May 2019 10:37:33 +0000 (11:37 +0100)]
IVGCVSW-3073 Refactor reference DepthwiseConvolution2d workloads

Change-Id: I3cf8d9dbc4f8c95e0e2311505dd7e9f9069f1ab5
Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
5 years agoIVGCVSW-3025: Refactor reference Convolution2d workload
Mike Kelly [Wed, 22 May 2019 16:21:49 +0000 (17:21 +0100)]
IVGCVSW-3025: Refactor reference Convolution2d workload

 * Refactored RefConvolution2dWorkload to support all DataTypes through Encoders and Decoders.
 * Added Convolute function to ConvImpl that uses Encoders and Decoders to support all DataTypes.
 * Deleted RefConvolution2dFloat32Workload and RefConvolution2dUint8Workload.

Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ic5ef0f499d08b948fa65fdee54b5f681fd0b1c05

5 years agoSilence gcc 8 warning wrt catch by value
Matthew Bentham [Wed, 22 May 2019 16:20:55 +0000 (17:20 +0100)]
Silence gcc 8 warning wrt catch by value

Change-Id: Ice29df6b695b2deba7ddf43be2e711614ab3cdea
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
5 years agoIVGCVSW-3132 Reintroduce SubGraph definition, but deprecated
Matteo Martincigh [Wed, 22 May 2019 13:28:16 +0000 (14:28 +0100)]
IVGCVSW-3132 Reintroduce SubGraph definition, but deprecated

 * Restored old SubGraph class definition as an alias of SubgraphView
   for backward compatibility
 * Restored SubGraphUniquePtr
 * Restored CreateSubGraphConverter method (and the corresponding
   ISubGraphConverterPtr type) as a deprecated method that's been
   removed from the backend interface
 * Chaged the defautl implementation of OptimizeSubgraphView to call
   the deprecated OptimizeSubGraph
 * Changed the default implementation of OptimizeSubgraphView in the
   backends

Change-Id: If69903926bf5ff2aae52c9b64b4572b355662757
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-2758 Instructions for cross-compiling ArmNN for arm64 should install cross...
Ruomei Yan [Wed, 22 May 2019 10:24:39 +0000 (11:24 +0100)]
IVGCVSW-2758 Instructions for cross-compiling ArmNN for arm64 should install cross-compiling toolchain earlier

Change-Id: I4c64eea6fa17cd4b1c817d4bf8337ebce75851dd
Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
5 years agoIVGCVSW-3116 Fix failing NN Driver Tests on Android Q
Sadik Armagan [Wed, 22 May 2019 11:11:50 +0000 (12:11 +0100)]
IVGCVSW-3116 Fix failing NN Driver Tests on Android Q

 * Fixed ResizeBilinear test failure on Cpu Reference

Change-Id: I2cf317eae65f1a86ef87badefb3b32ff05dca9e8
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
5 years agoIVGCVSW-3081 Quantizer min>=max error & missing layers
Les Bell [Fri, 17 May 2019 15:17:12 +0000 (16:17 +0100)]
IVGCVSW-3081 Quantizer min>=max error & missing layers

* relaxed the check to min > max in the quantization schemes
* added missing layer support for resnet_v2_50 model
  * Pad, Rsqrt, Multipilcation, Subtraction, Mean
* sorted methods alphabetically in Quantizerlayer & LayerVisitorBase

Change-Id: I003401ff7ac89b60580c959ea8fd9d6fef66b88e
Signed-off-by: Les Bell <les.bell@arm.com>
5 years agoIVGCVSW-3088 Update the backends README file
Matteo Martincigh [Wed, 22 May 2019 08:42:43 +0000 (09:42 +0100)]
IVGCVSW-3088 Update the backends README file

 * Updated the src/backends/README.md file with details on the new
   OptimizeSubgraphView method
 * Added section describing the new OptimizationViews class
 * Deprecated GetOptimizations in the code

Change-Id: Icb1a9aa015394e56fb4b5120b0645a752f44134e
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3015 Fix duplicate input/output slots in sub-graph
Matteo Martincigh [Tue, 21 May 2019 12:29:00 +0000 (13:29 +0100)]
IVGCVSW-3015 Fix duplicate input/output slots in sub-graph

 * Avoid collecting duplicate input/output slots during the
   sub-graph selection process
 * Fixes the InceptionV3 quantized run

Change-Id: I737ec8576d57184d3d25bda436a7776ec7243a0d
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3123 Remove duplicate step from CrossCompilation guide
Surabhi Mehta [Tue, 21 May 2019 14:27:06 +0000 (15:27 +0100)]
IVGCVSW-3123 Remove duplicate step from CrossCompilation guide

Change-Id: I6fd51b8c0c51fac180692bac69edd2b1107edc56
Signed-off-by: Surabhi Mehta <surabhi.mehta@arm.com>
5 years agoIVGCVSW-3033 New unit tests to ensure the Optimizer can
David Monahan [Tue, 14 May 2019 09:42:38 +0000 (10:42 +0100)]
IVGCVSW-3033 New unit tests to ensure the Optimizer can
handle multiple Graph objects

Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I7ccc10a4d81eaac724a374a0d8abc70c9c79a3f4

5 years agoIVGCVSW-3088 Update Readme for 19.05
Nina Drozd [Tue, 21 May 2019 10:17:10 +0000 (11:17 +0100)]
IVGCVSW-3088 Update Readme for 19.05

* Added Readme file for ArmnnQuantizer
* Added section about ArmnnQuantizer in armnn Readme file
* Updated ModelAccuracyTool Readme file with default values for --compute

Signed-off-by: Nina Drozd <nina.drozd@arm.com>
Change-Id: I5fcead522b70086dcf63dfc6c77910a7d33d83f0

5 years agoIVGCVSW-3125 Deprecate CreateMergerDescriptorForConcatenation function
Jim Flynn [Mon, 20 May 2019 11:49:28 +0000 (12:49 +0100)]
IVGCVSW-3125 Deprecate CreateMergerDescriptorForConcatenation function

!android-nn-driver:1183

Change-Id: Ia69995b7f09cb86b64611e8efd315413e3064ca1
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-3030 Add unit testing for the Optimization API
Matteo Martincigh [Fri, 17 May 2019 11:15:30 +0000 (12:15 +0100)]
IVGCVSW-3030 Add unit testing for the Optimization API

 * Added OptimizeSubgraphViewTests file covering a number of
   use cases for the Optimization API
 * Fixed a bug in the sub-graph selector algorithm that skipped the
   first layer in a sub-graph if it wasn't an input layer
 * Changed the graph splitting logic to make use of maps instead of
   unordered_maps to keep the split sub-graphs in consistent order
   between executions
 * Added more common unit test utils
 * Minor fixes to comply to the include file conventions

Change-Id: Iad464eaedd004109e5ef41aa487cea3ad86177d3
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3124 Rename workloadFactory CreateMerger to CreateConcat
Jim Flynn [Mon, 20 May 2019 10:02:46 +0000 (11:02 +0100)]
IVGCVSW-3124 Rename workloadFactory CreateMerger to CreateConcat

Change-Id: Id836372c0e4ef0c3996085facc4da6263366abcf
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-3060 Classification tests display output value as raw float
Derek Lamberti [Thu, 16 May 2019 15:33:00 +0000 (16:33 +0100)]
IVGCVSW-3060 Classification tests display output value as raw float

Change-Id: I92a1e043d60fa2fe3414dc9339ef36204aca42e2
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoIVGCVSW-2967 Support QSymm16 for Constant workloads
Nina Drozd [Thu, 16 May 2019 11:09:18 +0000 (12:09 +0100)]
IVGCVSW-2967 Support QSymm16 for Constant workloads

* Validate that output is any of supported types in WorkloadData
* Validate that output is any of supported types in RefLayerSupport
* Add test for constant with QuantisedSymm16 in LayerTests
* Add test for creating constant workload in RefCreateWorkloadTests
* Add test for constant with QuantisedSymm16 in RefLayerTests
* Refactor RefConstantWorkload - BaseWorkload instead of TypedWorkload
* Refactor RefConstantWorkload - remove m_RanOnce, use PostAllocationConfigure()

Signed-off-by: Nina Drozd <nina.drozd@arm.com>
Change-Id: Ic30e61319ef4ff9c367689901f7c6d498142a9c5

5 years agoIVGCVSW-3117 Rename NeonMergerWorkload to NeonConcatWorkload
Jim Flynn [Fri, 17 May 2019 14:44:36 +0000 (15:44 +0100)]
IVGCVSW-3117 Rename NeonMergerWorkload to NeonConcatWorkload

Change-Id: I9a373a31bfabbe0f691d7f9e240ac08e072b2c7d
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-3117 Rename ClMergerWorkload to ClConcatWorkload
Jim Flynn [Fri, 17 May 2019 12:03:57 +0000 (13:03 +0100)]
IVGCVSW-3117 Rename ClMergerWorkload to ClConcatWorkload

Change-Id: Ie0394336a772afa7b075eb562ac5191c8b3ec9f3
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-3117 Rename RefMergerWorkload to RefConcatWorkload
Jim Flynn [Fri, 17 May 2019 14:32:17 +0000 (15:32 +0100)]
IVGCVSW-3117 Rename RefMergerWorkload to RefConcatWorkload

Change-Id: Ifeb33db919ef77bf777e114f2d84b88fd595ca2c
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-3036 Change Armnn Quantizer to specify Armnn format
Finn Williams [Thu, 16 May 2019 15:40:41 +0000 (16:40 +0100)]
IVGCVSW-3036 Change Armnn Quantizer to specify Armnn format

Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I776a97ff54ea3ccc28b62afe3c512cbdc7252811

5 years agoIVGCVSW-3030 Add a mock backend for unit testing
Matteo Martincigh [Fri, 17 May 2019 11:15:30 +0000 (12:15 +0100)]
IVGCVSW-3030 Add a mock backend for unit testing

 * Added a mock implementation of an ArmNN backend for unit
   testing
 * Implemented a mock version of OptimizeSubgraphView
 * Fixed a typo in the Optimization API

Change-Id: Ic7acf7cc5c2a76a918e94cdc356baae7c7597a6d
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-2964 Fix issue with Deserializer creating ciruclar graph
Nattapat Chaimanowong [Thu, 16 May 2019 15:32:35 +0000 (16:32 +0100)]
IVGCVSW-2964 Fix issue with Deserializer creating ciruclar graph

*Issue was caused by using layer index with respect to flatbuffer layers
vector in place of the index property on each layer base (and vice
versa). These are not necessarily the same.

Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Change-Id: Ide3e33c77f394cd1b6850c7c61e4bee2dede76d3

5 years agoIVGCVSW-2972 Support QSymm16 for Merger
Jim Flynn [Wed, 15 May 2019 12:03:54 +0000 (13:03 +0100)]
IVGCVSW-2972 Support QSymm16 for Merger

Change-Id: If2289b2d1fc20f4524fcf4620f01ea3a36d727d2
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-3089 Change clframework version to 19.05 Release branch
Narumol Prangnawarat [Tue, 14 May 2019 13:45:29 +0000 (14:45 +0100)]
IVGCVSW-3089 Change clframework version to 19.05 Release branch

!android-nn-driver:1145

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I5a2fab03c98bfeb34154a0afe8c281a2551076cc

5 years agoIVGCVSW-3087 Changing version to 19.05
Telmo Soares [Thu, 16 May 2019 07:23:30 +0000 (08:23 +0100)]
IVGCVSW-3087 Changing version to 19.05

Change-Id: I35c8ae7171c23d379799ccfd524b7d6b8ff6d0c1
Signed-off-by: Telmo Soares <telmo.soares@arm.com>
5 years agoIVGCVSW-2911 Add Android Q support to android-nn-driver infrastructure
Sadik Armagan [Wed, 15 May 2019 11:52:19 +0000 (12:52 +0100)]
IVGCVSW-2911 Add Android Q support to android-nn-driver infrastructure

 * Updated Android.mk for Android Q build support

Change-Id: Ie3ba0b76d86c050e84b08cda4373474718d834a2
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
5 years agoIVGCVSW-3001 Dequantize the output prior to printing
Derek Lamberti [Tue, 14 May 2019 15:55:25 +0000 (16:55 +0100)]
IVGCVSW-3001 Dequantize the output prior to printing

Change-Id: Ibd5fb4ad102aec1f71ab99402a3e3a08b04b926b
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoUse the new deprecation API
Matteo Martincigh [Tue, 14 May 2019 09:36:13 +0000 (10:36 +0100)]
Use the new deprecation API

 * Used the new ARMNN_DEPRECATED_MSG macro instead of @deprecated
 * Refactored the code to no longer use the deprecated methods where
   applicable

!android-nn-driver:1126

Change-Id: Ib0578d3d6fc5a763f5fb922f67ba91fafc7796f6
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3076 Add ConcatLayer methods to public API
Jim Flynn [Fri, 10 May 2019 12:55:21 +0000 (13:55 +0100)]
IVGCVSW-3076 Add ConcatLayer methods to public API

!android-nn-driver:1120

Change-Id: I5192fa3deb4ea9766d38ad0bf4dfbfa0b4924c41
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-3069 Add documentation for ModelAccuracyTool-Armnn
Conor Kennedy [Mon, 13 May 2019 13:48:58 +0000 (14:48 +0100)]
IVGCVSW-3069 Add documentation for ModelAccuracyTool-Armnn

Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
Change-Id: I1e128982ba0e1c99ee4532276f679dda37095201

5 years agoMLCE-101 Add default dilation depthwise convolution implementation
Matteo Martincigh [Tue, 14 May 2019 08:11:03 +0000 (09:11 +0100)]
MLCE-101 Add default dilation depthwise convolution implementation
to LayerSupportBase

Change-Id: Ib075a53cfe639e2624910a767abac6cba0fee8ed
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoMLCE-101 Add dilation support for DepthWiseConv workload
Bruno Goncalves [Sat, 27 Apr 2019 00:03:24 +0000 (21:03 -0300)]
MLCE-101 Add dilation support for DepthWiseConv workload

Adds unit tests for dilated depthwise conv

Change-Id: Iad0a1b33d07fb0ef8f9f6edf0fd0f83a5800a36d
Signed-off-by: Bruno Goncalves <bruno.slackware@gmail.com>
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
5 years agoMLCE-101 Add dilation parameter to serializer
Matthew Bentham [Mon, 13 May 2019 09:02:45 +0000 (10:02 +0100)]
MLCE-101 Add dilation parameter to serializer

Change-Id: I8142e179d38c7a2a9163cf3d30bd1f411e8e109c
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
5 years agoMLCE-101 Add dilation support to reference backend
Matthew Bentham [Fri, 10 May 2019 15:55:23 +0000 (16:55 +0100)]
MLCE-101 Add dilation support to reference backend

Change-Id: I6d1ea80c9fabd8c50ee030272c51cb66e85e431d
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
5 years agoMLCE-101: Adding dilation support in conv and dconv
Pablo Tello [Fri, 26 Apr 2019 16:58:13 +0000 (17:58 +0100)]
MLCE-101: Adding dilation support in conv and dconv

Added support for dilation in DepthwiseConvolution2d in the
Neon and CL backends.

Change-Id: Ie1522b498c07f80d6efcf9dc79e926c8cfa06ca5
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
5 years agoIVGCVSW-3035 Correct gamma variable name
Narumol Prangnawarat [Mon, 13 May 2019 14:10:51 +0000 (15:10 +0100)]
IVGCVSW-3035 Correct gamma variable name

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I309dd176fe6ce1216f4259c24c306c7592827841

5 years agoIVGCVSW-3058 Segmentation fault running Resnetv2.50 tfite int8 model
Matteo Martincigh [Mon, 13 May 2019 08:22:33 +0000 (09:22 +0100)]
IVGCVSW-3058 Segmentation fault running Resnetv2.50 tfite int8 model

 * The execution crashed because the weights of a convolution were
   null during the network execution
 * Copied the weights and bias when folding a pad layer into a
   convolution

Change-Id: I3ae72143d04cac90d4f878cdf3b1a08b2f2a5c90
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3013 Add unit tests for QSymm16 LSTM
Conor Kennedy [Tue, 7 May 2019 06:14:23 +0000 (07:14 +0100)]
IVGCVSW-3013 Add unit tests for QSymm16 LSTM

* Add unit tests for QSymm16 LSTM
* Update supportedTypes in WorkloadData & RefLayerSupport with
  DataType::QuantisedSymm16

Change-Id: I1a2627b11b707d68d7d7002f63b985f9571ee177
Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
5 years agoIVGCVSW-3070 Add Documentation for ImageTensorGenerator & ImageCSVFileGenerator
Conor Kennedy [Mon, 13 May 2019 08:03:22 +0000 (09:03 +0100)]
IVGCVSW-3070 Add Documentation for ImageTensorGenerator & ImageCSVFileGenerator

Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
Change-Id: I071225a812e6f85b6abe83172be71913186523f4

5 years agoIVGCVSW-2834 Fix Input TensorInfo in Quantization DataSet
Narumol Prangnawarat [Fri, 10 May 2019 16:19:58 +0000 (17:19 +0100)]
IVGCVSW-2834 Fix Input TensorInfo in Quantization DataSet

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I694124aa15ef2fd368d5e6e36da8b942ae270850

5 years agoIVGCVSW-3034 Adding a unit test to check substituteSubGraph
David Monahan [Fri, 10 May 2019 14:08:53 +0000 (15:08 +0100)]
IVGCVSW-3034 Adding a unit test to check substituteSubGraph
now works when substituting layers from another Graph

Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: Iebd21a4975dd0ea1fc9d62708555dae4b1809623

5 years agoIVGCVSW-3063 Modify Quantizer tool to take command line input
Éanna Ó Catháin [Fri, 10 May 2019 12:29:13 +0000 (13:29 +0100)]
IVGCVSW-3063 Modify Quantizer tool to take command line input
             for preserving input/output types

Change-Id: Ib30f1e2e58407526cd881fec33f45fc4e4ed4afe
Signed-off-by: Éanna Ó Catháin <eanna.ocathain@arm.com>
5 years agoIVGCVSW-3034 Updates to SubstituteSubGraph and
David Monahan [Fri, 10 May 2019 10:52:14 +0000 (11:52 +0100)]
IVGCVSW-3034 Updates to SubstituteSubGraph and
ReplaceSubgraphConnections to support Graphs instead of
SubGraphViews

 * Added layer iteration function to SubgraphView similar to
   the Graph's one
 * Updated SubstituteSubgraph to reparent the layers to the
   calling graph

Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: Ib2f8e70decca4a59c53ceb127e07ef5a430d1005

5 years agoIVGCVSW-2990 Add deprecation helpers
Derek Lamberti [Fri, 10 May 2019 10:24:12 +0000 (11:24 +0100)]
IVGCVSW-2990 Add deprecation helpers

Change-Id: Ie13aa6aee9e4da14a0ca8779c95dfd647b656f95
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoIVGCVSW-3030 Refactor code and fix OptimizeSubgraphView
Matteo Martincigh [Thu, 9 May 2019 11:46:16 +0000 (12:46 +0100)]
IVGCVSW-3030 Refactor code and fix OptimizeSubgraphView

 * Refactored the Optimizer code for readibility, in view of
   upcoming changes
 * Rename one of the ISubgraphViewConverter interface methods to
   give it a more meaningful name
 * Improved the OptimizationViews class, added comments and
   useful funtion overloads
 * Fixed an error in the default implementationof the new
   OptimizeSubgraphView method in IBackendInternal

Change-Id: I683a56d562aa093bac06f0e83fb13e144ed81485
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3030 Added move operators to the Graph class
Matteo Martincigh [Thu, 9 May 2019 18:06:22 +0000 (19:06 +0100)]
IVGCVSW-3030 Added move operators to the Graph class

 * Updated the LayerInGraph class to properly support
   the new Reparent operation
 * Improved the Graph class destruction process to take into
   account eventual reparent layer operations
 * Added new ForEachLayerInGraph utility function to safely
   loop through all the layers in the graph

Change-Id: Ie67cbdee0c3c8625662ebfa00f860ae0d2fac59c
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3061 Modify NetworkQuantizer to support option to preserve input/output types
Nattapat Chaimanowong [Thu, 9 May 2019 09:13:20 +0000 (10:13 +0100)]
IVGCVSW-3061 Modify NetworkQuantizer to support option to preserve input/output types

* Also add unit tests for new preserve type option

Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Change-Id: I860759072f2e3546698118d1bcd5e79eb4e805ec

5 years agoIVGCVSW-3072 Add MergerLayer Deserialise Backcompat test
Jim Flynn [Thu, 9 May 2019 14:35:43 +0000 (15:35 +0100)]
IVGCVSW-3072 Add MergerLayer Deserialise Backcompat test

Change-Id: Ib8ce6f8db6de0ac4df92fa4c999fe3c78705ec7e
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-3030 Make the OptimizationViews class move-assignable
Matteo Martincigh [Thu, 9 May 2019 14:26:51 +0000 (15:26 +0100)]
IVGCVSW-3030 Make the OptimizationViews class move-assignable

 * Added move-constructors and move-assigment operators to
   both the OptimizationViews and Graph classes

Change-Id: I3f923dc58e849479ff6589dcd39dece2790172cb
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-2900 Adding the missing option to build the Accuracy Tool
Éanna Ó Catháin [Thu, 9 May 2019 10:34:06 +0000 (11:34 +0100)]
IVGCVSW-2900 Adding the missing option to build the Accuracy Tool
             to the GlobalConfig.cmake

Change-Id: I7f7e3e36fa66c5cd5b2248cab6f2b9b90d65d1a4
Signed-off-by: Éanna Ó Catháin <eanna.ocathain@arm.com>
5 years agoIVGCVSW-3031 Reparent layer to new graph
Derek Lamberti [Tue, 7 May 2019 20:33:30 +0000 (21:33 +0100)]
IVGCVSW-3031 Reparent layer  to new graph

Change-Id: Ic4423b8d21d794f44ddae291853e0e3b89d11bc0
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoIVGCVSW-2833 Add Dynamic Quantization
Jim Flynn [Thu, 2 May 2019 10:33:25 +0000 (11:33 +0100)]
IVGCVSW-2833 Add Dynamic Quantization

Change-Id: Iba91e3f3625639f01d66f81a9f3e419e0e285d66
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-2900 Adding the Accuracy Checker Tool and tests
Éanna Ó Catháin [Wed, 8 May 2019 13:00:45 +0000 (14:00 +0100)]
IVGCVSW-2900 Adding the Accuracy Checker Tool and tests

Change-Id: I4ac325e45f2236b8e0757d21046f117024ce3979
Signed-off-by: Éanna Ó Catháin <eanna.ocathain@arm.com>
5 years agoIVGCVSW-3031 Finer grained backend optimization API
Derek Lamberti [Wed, 8 May 2019 09:23:08 +0000 (10:23 +0100)]
IVGCVSW-3031 Finer grained backend optimization API

Change-Id: I9b93bc81b97f3d89fa046ba001854f732040e63a
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoIVGCVSW-3067 Fix issue with QuantizerVisior not setting TensorShape correctly
Nattapat Chaimanowong [Tue, 7 May 2019 14:01:00 +0000 (15:01 +0100)]
IVGCVSW-3067 Fix issue with QuantizerVisior not setting TensorShape correctly

* Also update unit tests for the quantizer to check the input and output
shape of the network

Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Change-Id: Ie804d852f2a4770d98dfb4dab6415f3d0fdd2ce4

5 years agoIVGCVSW-2997 Refactor reference LSTM workload
Nattapat Chaimanowong [Tue, 7 May 2019 11:02:30 +0000 (12:02 +0100)]
IVGCVSW-2997 Refactor reference LSTM workload

Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Change-Id: I6883f878d9f701a55153292769d2fc0530d2529e

5 years agoIVGCVSW-2989 Generate subgraphs without cyclic dependencies
Derek Lamberti [Fri, 3 May 2019 17:57:12 +0000 (18:57 +0100)]
IVGCVSW-2989 Generate subgraphs without cyclic dependencies

Change-Id: I45f81aa4ca8a964e423594fe271825c4a52b21f4
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoIVGCVSW-3038 Move MakeInputTensors to armnnUtils
Jim Flynn [Fri, 3 May 2019 11:54:26 +0000 (12:54 +0100)]
IVGCVSW-3038 Move MakeInputTensors to armnnUtils

Change-Id: I4352a645badde788b9e33b3675a9cc9c0fc3dc33
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-3030 Update the backend code to create also a list of
Matteo Martincigh [Thu, 2 May 2019 11:44:50 +0000 (12:44 +0100)]
IVGCVSW-3030 Update the backend code to create also a list of
non-optimized SubgraphViews

 * Removed pointless CreateSubgraphViewConverter method in the
   IBackendInternal interface

Change-Id: Ie2d3c0e74fb3d53e67f76924ac6d05050a5e6e2e
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3014 Add GetSupportedBackends to IDeviceSpec
Narumol Prangnawarat [Fri, 3 May 2019 14:54:39 +0000 (15:54 +0100)]
IVGCVSW-3014 Add GetSupportedBackends to IDeviceSpec

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I8d6474389376f715074bfa7a75613dbda35bcc6a