platform/upstream/armnn.git
5 years agoIVGCVSW-3857 Add Reference FP16 workload support to remaining layers
Matthew Jackson [Thu, 12 Sep 2019 08:08:23 +0000 (09:08 +0100)]
IVGCVSW-3857 Add Reference FP16 workload support to remaining layers

* Adds Reference FP16 support and unit tests for layers not already supported

!referencetests:202156

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I6fc9b9ce2809e163f72e27e877025c8fb85d9fbe

5 years agoAdd "explicit" qualifier to Optional -> bool conversion method
Rob Hughes [Wed, 11 Sep 2019 08:51:13 +0000 (09:51 +0100)]
Add "explicit" qualifier to Optional -> bool conversion method

This prevents unintended conversions that could lead to incorrect code
compiling, e.g. Optional<a> == Optional<b>

Also add comparison (==) operator to compare two Optionals.

Update unit tests accordingly

Change-Id: I6f975de7e666ba1ffe16c3ab50643116c6317135
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
5 years agoIVGCVSW-3580: Extend the IProfilingConnection to connect to a Socket
Teresa Charlin [Fri, 6 Sep 2019 11:28:35 +0000 (12:28 +0100)]
IVGCVSW-3580: Extend the IProfilingConnection to connect to a Socket

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Signed-off-by: Aron Virginas-Tar <aron.virginas-tar@arm.com>
Change-Id: I72e099ee00052f7a0907c055c7bff02c7d8fde86

5 years agoIVGCVSW-3663 Add utility function to expand tensor dimension
Narumol Prangnawarat [Wed, 11 Sep 2019 15:43:09 +0000 (16:43 +0100)]
IVGCVSW-3663 Add utility function to expand tensor dimension

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

5 years agoIVGCVSW-3856 Add Dependency breaking interface
Jim Flynn [Wed, 11 Sep 2019 17:08:32 +0000 (18:08 +0100)]
IVGCVSW-3856 Add Dependency breaking interface

Change-Id: I74947e592332f0a0d239219097c98109e86ac1f2
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoFix CL workload creation methods not using MakeWorkload
Aron Virginas-Tar [Tue, 10 Sep 2019 12:32:42 +0000 (13:32 +0100)]
Fix CL workload creation methods not using MakeWorkload

* Wrap CL workload creation methods into MakeWorkload to
  ensure proper handling of ClError exceptions

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Id6b743b4682c092316b4775baa065921780dd24a

5 years agoIVGCVSW-3820 Remove backendsCommon/WorkloadDataFwd.hpp
Aron Virginas-Tar [Wed, 11 Sep 2019 09:58:22 +0000 (10:58 +0100)]
IVGCVSW-3820 Remove backendsCommon/WorkloadDataFwd.hpp

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: If54f3a285b288e7ff0b2674829c116df70d6934c

5 years agoIVGCVSW-3659 Add Float16 CLLayerTests for Abs
Kevin May [Wed, 11 Sep 2019 11:31:38 +0000 (12:31 +0100)]
IVGCVSW-3659 Add Float16 CLLayerTests for Abs

Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I99d8a3d53551ce5c293462d847c22ae4f912331b

5 years agoIVGCVSW-3845 Add Reference FP16 support for required layers
Matthew Jackson [Wed, 11 Sep 2019 08:19:18 +0000 (09:19 +0100)]
IVGCVSW-3845 Add Reference FP16 support for required layers

* Working on layers required by FSRCNN, FCRN and DeepSpeaker
* Updates RefLayerSupport and RefWorkloadFactory methods
* Adds RefPadFloat16Workload
* Tested by successful execution of these networks on Reference FP16 backend

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I4817dca0a89bba6902f0feffc494b27a26a0ab2d

5 years agoIVGCVSW-3724 Adding serialization support for ArgMinMax
Narumol Prangnawarat [Mon, 9 Sep 2019 16:16:24 +0000 (17:16 +0100)]
IVGCVSW-3724 Adding serialization support for ArgMinMax

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

5 years agoIVGCVSW-3712 Add Transpose into TfLite Parser
Keith Davis [Mon, 9 Sep 2019 13:49:20 +0000 (14:49 +0100)]
IVGCVSW-3712 Add Transpose into TfLite Parser

Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I94e975ede3876c812f0f26b040e8c50a5597f86a

5 years agoIVGCVSW-3722 Add ArgMinMax to GetLayerAsCString InternalTypes
Kevin May [Tue, 10 Sep 2019 08:49:12 +0000 (09:49 +0100)]
IVGCVSW-3722 Add ArgMinMax to GetLayerAsCString InternalTypes

Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I304aec5c2f83d062a8b0c14d6c8ad01123dc7435

5 years agoIVGCVSW-3829 Add CL workload for RSQRT
Aron Virginas-Tar [Tue, 10 Sep 2019 11:32:08 +0000 (12:32 +0100)]
IVGCVSW-3829 Add CL workload for RSQRT

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Idf40ed0ebf2af3170137bf3a3cb5a9635a203d4a

5 years agoIVGCVSW-3830 Add NEON workload for RSQRT
Aron Virginas-Tar [Tue, 10 Sep 2019 12:55:09 +0000 (13:55 +0100)]
IVGCVSW-3830 Add NEON workload for RSQRT

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ida590b7d28dbee40e496794c42b682d740427cca

5 years agoIVGCVSW-3739 Add serialization support for Abs
FinnWilliamsArm [Thu, 5 Sep 2019 13:34:20 +0000 (14:34 +0100)]
IVGCVSW-3739 Add serialization support for Abs

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

5 years agoIVGCVSW-3823 Add CL workload support for ABS
Aron Virginas-Tar [Mon, 9 Sep 2019 14:18:29 +0000 (15:18 +0100)]
IVGCVSW-3823 Add CL workload support for ABS

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I802bd882da4adcc1e7e52c772771e743143745fa

5 years agoIVGCVSW-3824 Implement Float 16 Encoder and Decoder
Matthew Jackson [Mon, 9 Sep 2019 13:31:21 +0000 (14:31 +0100)]
IVGCVSW-3824 Implement Float 16 Encoder and Decoder

* Implement Float 16 Encoder and Decoder
* Add Stack Float 16 layer and create workload tests

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Ice4678226f4d22c06ebcc6db3052d42ce0c1bd67

5 years agoIVGCVSW-3822 Add NEON workload support for ABS
Aron Virginas-Tar [Mon, 9 Sep 2019 12:36:45 +0000 (13:36 +0100)]
IVGCVSW-3822 Add NEON workload support for ABS

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I0c2ead004200e053d748ea39937f2f9ed35a636b

5 years agoIVGCVSW-3691 Add utility function to generate valid UIDs for profiling objects
Matteo Martincigh [Thu, 5 Sep 2019 11:02:04 +0000 (12:02 +0100)]
IVGCVSW-3691 Add utility function to generate valid UIDs for profiling objects

Change-Id: I59ad320bfd52c881671c5e4710fb70c5d0293aad
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3691 Basic refactoring in view of upcoming work in the profiler
Matteo Martincigh [Thu, 5 Sep 2019 11:02:04 +0000 (12:02 +0100)]
IVGCVSW-3691 Basic refactoring in view of upcoming work in the profiler

Change-Id: Iea4550b864fc2adb04a3a2411a7ead06b1f60ab9
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3720 Start a UDS server that accepts connections.
Colm Donelan [Mon, 9 Sep 2019 10:59:08 +0000 (11:59 +0100)]
IVGCVSW-3720 Start a UDS server that accepts connections.

* Add a CLI paramter to the Gatord mock client to specify a namespace.
* Open a listening socket on that namespace.
* Wait for one connection on the socket.

Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Ic85b4defd5ad2010bb255472c030a91a23cec1d9

5 years agoIVGCVSW-3743 Add end-to-end test for ABS on CpuRef
Aron Virginas-Tar [Mon, 9 Sep 2019 10:22:56 +0000 (11:22 +0100)]
IVGCVSW-3743 Add end-to-end test for ABS on CpuRef

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I807a57af6dc2555a5a422388558a02e958ed610d

5 years agoIVGCVSW-3722 Add function to specify min or max in ArgMinMaxDescriptor
Narumol Prangnawarat [Mon, 9 Sep 2019 14:01:18 +0000 (15:01 +0100)]
IVGCVSW-3722 Add function to specify min or max in ArgMinMaxDescriptor

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

5 years agoIVGCVSW-3432 Create CaptureData Holder
Francis Murtagh [Mon, 9 Sep 2019 10:26:44 +0000 (11:26 +0100)]
IVGCVSW-3432 Create CaptureData Holder

 * Improve tests with greater number of threads

Change-Id: I6855cdee463809045b10fff85ed9193dd3d3207a
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3400 Add missing virtual destructors
Matteo Martincigh [Mon, 9 Sep 2019 08:23:53 +0000 (09:23 +0100)]
IVGCVSW-3400 Add missing virtual destructors

 * Added missing virtual destructors to recently added profiling
   interface classes

Change-Id: Id2c4b3bb22ef233b26723d3e578477c59018fbda
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3690 Implement SendCounterPacket.SendStreamMetaDataPacket() function
Ferran Balaguer [Wed, 4 Sep 2019 15:47:34 +0000 (16:47 +0100)]
IVGCVSW-3690 Implement SendCounterPacket.SendStreamMetaDataPacket() function

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I9e034b0caaff5371fadfdba20fdbe3171d4cd2e6

5 years agoIVGCVSW-3742 Add Quantizer support for ABS
FinnWilliamsArm [Fri, 6 Sep 2019 09:04:08 +0000 (10:04 +0100)]
IVGCVSW-3742 Add Quantizer support for ABS

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

5 years agoIVGCVSW-3719 Create test program executable.
Colm Donelan [Thu, 5 Sep 2019 09:03:56 +0000 (10:03 +0100)]
IVGCVSW-3719 Create test program executable.

Introduce a new test utility that simulates the Gatord service.
This will be used to test the external profiling features.

Change-Id: Ib7c75c1302650e140945cd66d272c23af3aac760
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
5 years agoIVGCVSW-3816 Make compute option required in ExecuteNetwork
Matthew Jackson [Thu, 5 Sep 2019 14:55:55 +0000 (15:55 +0100)]
IVGCVSW-3816 Make compute option required in ExecuteNetwork

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: If13b731d95c79e3e296d7dfc6c1ac94bf3a93ff3

5 years agoIVGCVSW-3740 Add Reference Workload support for ABS
Sadik Armagan [Thu, 5 Sep 2019 16:35:31 +0000 (17:35 +0100)]
IVGCVSW-3740 Add Reference Workload support for ABS

 * Implemented RefAbsWorkload and unit tests

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

5 years agoIVGCVSW-3722 Add front end support for ArgMinMax
Nikhil Raj [Thu, 5 Sep 2019 16:50:44 +0000 (17:50 +0100)]
IVGCVSW-3722 Add front end support for ArgMinMax

Change-Id: I31c5616bea3097f30cde68442d3222e0b0fe2235
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
5 years agoIVGCVSW-3674 Create basic ProfileService class
Keith Davis [Mon, 26 Aug 2019 17:28:17 +0000 (18:28 +0100)]
IVGCVSW-3674 Create basic ProfileService class

Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I5bed5196c256883fb704fe14b60bb8f7a77cc9df

5 years agoIVGCVSW-3432 Create CaptureData Holder
Francis Murtagh [Thu, 5 Sep 2019 15:29:01 +0000 (16:29 +0100)]
IVGCVSW-3432 Create CaptureData Holder

 * Fix race condition where result was read before execution of write

Change-Id: I8961c4ce5a9000cb4d465106fe56e615beecf4dc
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3739 Add Arm NN front end support for Abs Layer
Kevin May [Wed, 4 Sep 2019 16:29:31 +0000 (17:29 +0100)]
IVGCVSW-3739 Add Arm NN front end support for Abs Layer

* Add Abs Layer
* Add no-op factory implementations for CpuRef, CpuAcc, GpuAcc
* Add Queue Descriptor in WorkloadData
* Add IsAbsLayerSupported to LayerSupport
* Add LayerVisitor tests

Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: Ib0992571d1c80de851cea466291be904e9bdb430

5 years agoIVGCVSW-3692 Implement SendPeriodicCounterCapturePacket() function
Francis Murtagh [Wed, 4 Sep 2019 14:25:02 +0000 (15:25 +0100)]
IVGCVSW-3692 Implement SendPeriodicCounterCapturePacket() function

Change-Id: Ic976fc36955bec5e7721d1e34e89e7be79e23053
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3432 Create CaptureData Holder
Francis Murtagh [Wed, 4 Sep 2019 15:42:29 +0000 (16:42 +0100)]
IVGCVSW-3432 Create CaptureData Holder

 * Create CaptureData and Holder classes
 * Add unit test

Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I9f2766a8a6081ae4f9988904af2ca24cd434ebca

5 years agoIVGCVBENCH-1337 Added additional layer parameters to dot file and -v option
Andre Ghattas [Wed, 7 Aug 2019 11:18:38 +0000 (12:18 +0100)]
IVGCVBENCH-1337 Added additional layer parameters to dot file and -v option

* Generic layer parameters now show up in dot file
* Convolution layer parameters have also been added to dot file
* ExecucteNetwork has an additional -v flag which generated dot file if there

Change-Id: I210bb19b45384eb3639b7e488c7a89049fa6f18d
Signed-off-by: Andre Ghattas <andre.ghattas@arm.com>
Signed-off-by: Szilard Papp <szilard.papp@arm.com>
5 years agoIVGCVSW-3686 Update ACL pin
Matthew Jackson [Tue, 3 Sep 2019 15:37:26 +0000 (16:37 +0100)]
IVGCVSW-3686 Update ACL pin

* Updates ACL pin to include patch for asymmetric padding in TransposeConvolution2D, used by FSRCNN

!android-nn-driver:1857

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Ie9c8c75b6cff3caa87623ec4021e03d409fdb18a

5 years agoIVGCVSW-3431 Create Profiling Service State Machine
Nikhil Raj [Tue, 3 Sep 2019 14:55:33 +0000 (15:55 +0100)]
IVGCVSW-3431 Create Profiling Service State Machine

Change-Id: I30ae52d38181a91ce642e24919ad788902e42eb4
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
5 years agoIVGCVSW-3693 Implement SendCounterPacket.SendPeriodicCounterSelectionPacket() function
Ferran Balaguer [Mon, 2 Sep 2019 15:39:42 +0000 (16:39 +0100)]
IVGCVSW-3693 Implement SendCounterPacket.SendPeriodicCounterSelectionPacket() function

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: Ib034a4f5ca589759d925e3dd0ca50e5a3dfa74c5

5 years agoIVGCVSW-3434 Create the SendCounterPacket interface
Ferran Balaguer [Fri, 30 Aug 2019 14:49:15 +0000 (15:49 +0100)]
IVGCVSW-3434 Create the SendCounterPacket interface

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I0d9b0ab12f17cb86544163ce3f0dc4945151e9e1

5 years agoIVGCVSW-2945 ExecuteNetwork should have an option to save the output to a file
Sadik Armagan [Mon, 2 Sep 2019 10:46:28 +0000 (11:46 +0100)]
IVGCVSW-2945 ExecuteNetwork should have an option to save the output to a file

 * Added "output-tensor-files,w" option to save output tensors to a file

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

5 years agoUpdated SerializerSupport.md to list the layer support alphabetically
Surabhi Mehta [Thu, 29 Aug 2019 15:07:05 +0000 (16:07 +0100)]
Updated SerializerSupport.md to list the layer support alphabetically

Change-Id: Id49e43680b306e762672f2681eaf45788dcfcdd0
Signed-off-by: Surabhi Mehta <surabhi.mehta@arm.com>
5 years agoIVGCVSW-3381 Break up LayerTests.hpp into more manageable files
Aron Virginas-Tar [Wed, 28 Aug 2019 17:08:46 +0000 (18:08 +0100)]
IVGCVSW-3381 Break up LayerTests.hpp into more manageable files

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Icf39434f09fd340ad664cb3b97b8bee6d9da4838

5 years agoAdd a check for the number of output types to ExecuteNetwork
Matteo Martincigh [Thu, 29 Aug 2019 15:26:10 +0000 (16:26 +0100)]
Add a check for the number of output types to ExecuteNetwork

 * If the number of the declared output types does not match
   the number of outputs, throw an error (just like we do for
   the inputs)

Change-Id: I1cb873bf443a31ecdbc11195462e9614ae3a6637
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3656 Fix wrong rename of the reference backend control macro
Matteo Martincigh [Thu, 29 Aug 2019 17:27:18 +0000 (18:27 +0100)]
IVGCVSW-3656 Fix wrong rename of the reference backend control macro

 * Renamed ARMNN_COMPUTE_REF_ENABLED to ARMNN_REF_ENABLED in the
   Android makefiles

Change-Id: I12af2ca00c719568274585482d428b035674737c
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3656 Build the reference backend by default
Matteo Martincigh [Wed, 28 Aug 2019 15:38:53 +0000 (16:38 +0100)]
IVGCVSW-3656 Build the reference backend by default

 * Changed the default value of the new ARMNNREF option to ON in
   the global makefile, so to always build the reference backend
   by default, thus keeping the same behaviour as of the previous
   releases

Change-Id: Id4941522ac7987c797ac8331ea421edb2a54287f
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3675 Add ExecuteNetwork option to print intermediate layers
Matthew Jackson [Tue, 27 Aug 2019 14:35:59 +0000 (15:35 +0100)]
IVGCVSW-3675 Add ExecuteNetwork option to print intermediate layers

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Id7ab186ec607ff6e5ee6869c4ad562af4c40b97a

5 years agoIVGCVSW-2325 Reduce duplication in LayerTests by reusing the ElementwiseTestHelper
Aron Virginas-Tar [Tue, 27 Aug 2019 17:14:26 +0000 (18:14 +0100)]
IVGCVSW-2325 Reduce duplication in LayerTests by reusing the ElementwiseTestHelper

* Refactored tests for element-wise operations to use ElementwiseTestHelper
* Moved the etasts for each operation in a separate file under backendsCommon/test/layerTests

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Icefb6b35df78b9619f69378229789505bf92670e

5 years agoIVGCVSW-3656 Rename ARMCOMPUTEREF to ARMNNREF
Matteo Martincigh [Tue, 27 Aug 2019 15:41:11 +0000 (16:41 +0100)]
IVGCVSW-3656 Rename ARMCOMPUTEREF to ARMNNREF

 * Renamed ARMCOMPUTEREF to ARMNNREF (and relative symbols) as the
   previous name was misleading

!android-nn-driver:1819

Change-Id: I912e9f521750b91539e48f8a2fb4de73fb6f7425
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3277 Fix RequiresCopy in case a tensor handle factory is not available
Matteo Martincigh [Tue, 27 Aug 2019 12:43:32 +0000 (13:43 +0100)]
IVGCVSW-3277 Fix RequiresCopy in case a tensor handle factory is not available

 * Added null checks prior of using either the source or the destination
   handle factory when checking if the tensor requires to be copied

Change-Id: Icc6737562849be5e7d1a62243327366e06312eb9
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3507 Removed partially supported networks
Mike Kelly [Tue, 27 Aug 2019 10:46:02 +0000 (11:46 +0100)]
IVGCVSW-3507 Removed partially supported networks

 * FCRN and FSRCNN aren't supported on all backends yet.

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

5 years agoIVGCVSW-3656 Make the reference backend build optional
Matteo Martincigh [Tue, 27 Aug 2019 08:30:58 +0000 (09:30 +0100)]
IVGCVSW-3656 Make the reference backend build optional

 * Added ARMCOMPUTEREF option to the build guides, as the
   reference backend is not built by default

Change-Id: I2cd8dab12ed72a795ff79fe1087ab8bf7606694e
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3605 Add direct compatibility between Cl and Neon backends
Jan Eilers [Fri, 16 Aug 2019 09:45:30 +0000 (10:45 +0100)]
IVGCVSW-3605 Add direct compatibility between Cl and Neon backends

* Adds compatibility between Cl and Neon
* Adds related unit test

Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Iaa454ea2a6392c89c0a83836c3156d4ddb354879

5 years agoIVGCVSW-3575 Fix DepthwiseConvolution VTS Test Failures
Kevin May [Wed, 21 Aug 2019 15:53:50 +0000 (16:53 +0100)]
IVGCVSW-3575 Fix DepthwiseConvolution VTS Test Failures

Failing VTS tests were "NeuralnetworksHidlTest.depthwise_conv2d_*"

In depthwise convolution there was a difference in weight tensor channel
order between the reference and ACL implementations. This specifically related
to NCHW. This commit:

* Adds ReorderWeightChannelsForAcl to WorkloadUtils which will correct the weight tensor channel order.
* Add unit tests to detect this problem.

Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Icaeac08e14b3d5da9e222ad2f118db55ebb15d09

5 years agoIVGCVSW-3175 Add Regression Tests for Zero Copy
Ferran Balaguer [Wed, 21 Aug 2019 12:28:38 +0000 (13:28 +0100)]
IVGCVSW-3175 Add Regression Tests for Zero Copy

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I6f16ea0dca359283a3b187e2f046f82a7dc2ff7c

5 years agoIVGCVSW-3441 Create IProfilingConnection and ProfilingConnectionFactory
Aron Virginas-Tar [Fri, 23 Aug 2019 14:18:44 +0000 (15:18 +0100)]
IVGCVSW-3441 Create IProfilingConnection and ProfilingConnectionFactory

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I912312f31d4fd82b23bafe8e3ec461b179f3e97a

5 years agoIVGCVSW-3410 Create Counter Directory metadata classes
Aron Virginas-Tar [Thu, 22 Aug 2019 17:10:52 +0000 (18:10 +0100)]
IVGCVSW-3410 Create Counter Directory metadata classes

* Created classes Device, Counter, Category, CounterDirectory

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Iaec4b0e154d962983c60460714bafcc1fb16f47e

5 years agoIVGCVSW-3547 Use ExecuteNetwork to run a dynamic backend end to end test
Matteo Martincigh [Wed, 14 Aug 2019 10:42:30 +0000 (11:42 +0100)]
IVGCVSW-3547 Use ExecuteNetwork to run a dynamic backend end to end test

 * Added path override for dynamic backend loading
 * Do not default to CpuRef, as there could be dynamic backends loaded at
   runtime
 * Do not check right away whether the backends are correct, as more of
   them can be loaded at runtime as dynamic backends

Change-Id: If23f79aa1480b8dfce57e49b1746c23b6b9e6f82
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3427 Create PacketVersionResolver class
Aron Virginas-Tar [Thu, 22 Aug 2019 11:56:34 +0000 (12:56 +0100)]
IVGCVSW-3427 Create PacketVersionResolver class

* Create first version of PacketVersionResolver class
* Add basic unit test
* Move existing classes inside the armnn::profiling namespace
* Add utility methods for Version

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: If0ea0e1b9dea7fbfcd8b808e97b1e2aa91964dfa

5 years agoFix Windows build:
Rob Hughes [Fri, 23 Aug 2019 09:11:58 +0000 (10:11 +0100)]
Fix Windows build:

* CMake "install" commands require a RUNTIME argument for platforms with
DLLs (e.g. Windows).
* Replace use of non-standard variable length array with vector
* Remove unnecessary #include of unistd.h
* Add #ifdefs to dynamic backend code to disable for non-Unix platforms
where you can't use dlopen etc. We could implement this properly for Windows
later using LoadLibrary etc., but for now erroring is fine.
* Add missing #include of <algorithm>

Change-Id: Ic8ef5fd599b37bf8772510157b6e479819f6a1eb

5 years agoIVGCVSW-3670 Fix Vts Tests after adding Ref Import functionality
Ferran Balaguer [Thu, 22 Aug 2019 13:09:44 +0000 (14:09 +0100)]
IVGCVSW-3670 Fix Vts Tests after adding Ref Import functionality

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I87d003ae14575d7d7be67b2a7d00d69ef6201849

5 years agoIVGCVSW-3656 Make the reference backend optional
Matteo Martincigh [Wed, 14 Aug 2019 13:05:46 +0000 (14:05 +0100)]
IVGCVSW-3656 Make the reference backend optional

 * Made the build of the reference backend depend on a new ARMCOMPUTEREF
   macro
 * Made the relevant targets dependent on the ref backend
 * Moved Cl and Neon static registry initializers to separate files
 * Wrapped some of the unit tests into proper ifdefs where necessary

Change-Id: I7f2c42699682630233a4c4b6aed2f005083de189
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3668 Fix Android issue running Ref Import tests
Ferran Balaguer [Wed, 21 Aug 2019 12:59:13 +0000 (13:59 +0100)]
IVGCVSW-3668 Fix Android issue running Ref Import tests

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I64f82c0e3c5cddcaebe0d5001020880a759ec444

5 years agoIVGCVSW-3634 Segmentation fault running UnitTests on Android
Matteo Martincigh [Wed, 21 Aug 2019 13:35:55 +0000 (14:35 +0100)]
IVGCVSW-3634 Segmentation fault running UnitTests on Android

 * Updated the NDK build guide to include instructions on what
   extra files to deploy for running the dynamic backend unit test

Change-Id: I0a77b0bf911cfdd90be62f136dd06c118810d0c8
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3671 Fix validation error msg WorkloadData.cpp
James Conroy [Thu, 22 Aug 2019 10:41:07 +0000 (11:41 +0100)]
IVGCVSW-3671 Fix validation error msg WorkloadData.cpp

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

5 years agoIVGCVSW-3564 Add optional InputLayerBindingID argument to ImageCSVFileGenerator
FinnWilliamsArm [Mon, 19 Aug 2019 16:17:19 +0000 (17:17 +0100)]
IVGCVSW-3564 Add optional InputLayerBindingID argument to ImageCSVFileGenerator

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

5 years agoIVGCVSW-3507 Fix error in list of tested networks for Tf and TfLite parsers
Aron Virginas-Tar [Wed, 21 Aug 2019 14:49:27 +0000 (15:49 +0100)]
IVGCVSW-3507 Fix error in list of tested networks for Tf and TfLite parsers

* Move DeepSpeaker, FCRN and FSRCNN from TensorFlowSupport.md
  to TensorFlowLiteSupport.md

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I82d508d3599073eb8f6638994a91f46b4b95c247

5 years agoIVGCVSW-3507 Revise and update readmes for 19.08
Aron Virginas-Tar [Wed, 21 Aug 2019 11:33:12 +0000 (12:33 +0100)]
IVGCVSW-3507 Revise and update readmes for 19.08

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I3da43122240fda7864e0932d47b3efeea8bbed40

5 years agoIVGCVSW-3650 Fix Transpose Convolution inputs in TfLite parser
Matthew Jackson [Tue, 20 Aug 2019 16:18:33 +0000 (17:18 +0100)]
IVGCVSW-3650 Fix Transpose Convolution inputs in TfLite parser

* Reordered and edited inputs in ParseTransposeConv method
* Updated test cases to reflect changes

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Icd090cf6ab340eed4f098ef8641daf7c6e0d0949

5 years agoIVGCVSW-3661 Add multi-channel TransposeConvolution2d unit tests to NEON backend
Aron Virginas-Tar [Tue, 20 Aug 2019 14:30:04 +0000 (15:30 +0100)]
IVGCVSW-3661 Add multi-channel TransposeConvolution2d unit tests to NEON backend

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I9d19ae4559a98b9e740c1d4d05add0c5788093d6

5 years agoIVGCVSW-3642 Fixed VTS Test Failures
Mike Kelly [Wed, 21 Aug 2019 08:36:58 +0000 (09:36 +0100)]
IVGCVSW-3642 Fixed VTS Test Failures

 * Fixed Quant8 VTS test failures where an output value should have been greater than 255 before a negative bias was applied.

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

5 years agoIVGCVSW-3163 Support Neon TransposeConv2d
Sadik Armagan [Mon, 12 Aug 2019 13:11:37 +0000 (14:11 +0100)]
IVGCVSW-3163 Support Neon TransposeConv2d

* NEON support for TransposeConolution2d
* Indentation fix on SpaceToDepth LayerSupport method

Signed-off-by: Keith Davis <keith.davis@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Signed-off-by: Aron Virginas-Tar <aron.virginas-tar@arm.com>
Change-Id: Ie3a01a22e05f62f475f768dfe05ce561d2f3b0ad

5 years agoIVGCVSW-3606 Support memory import for Reference backend
Ferran Balaguer [Wed, 7 Aug 2019 14:14:56 +0000 (15:14 +0100)]
IVGCVSW-3606 Support memory import for Reference backend

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I94bd191f88e0911ad4e4727610e81cd7afa95512

5 years agoIVGCVSW-3640 Add multi-channel TransposeConvolution2d unit tests to CL backend
Aron Virginas-Tar [Wed, 14 Aug 2019 13:37:42 +0000 (14:37 +0100)]
IVGCVSW-3640 Add multi-channel TransposeConvolution2d unit tests to CL backend

* Fixed bug in multi-channel test and reference workload implementation
* Enabled multi-channel tests on CL backend

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I08bb523bc68d9c93a1012b4f487a5bce36a085b1

5 years agoIVGCVSW-3650 Add TfLite Parser support for Transpose Convolution layer
Matthew Jackson [Fri, 16 Aug 2019 15:51:42 +0000 (16:51 +0100)]
IVGCVSW-3650 Add TfLite Parser support for Transpose Convolution layer

* Added ParseTransposeConv to TfLite Parser
* New TransposeConv test file
* Updated documentation for supported Transpose Convolution

Change-Id: Id7356d8525556805c164af693ae2b16f6a8492fa
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
5 years agoIVGCVSW-3506 Update version number for 19.08
Aron Virginas-Tar [Tue, 20 Aug 2019 10:38:00 +0000 (11:38 +0100)]
IVGCVSW-3506 Update version number for 19.08

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I43a46a9ec4adef35736af8de67916bfda967da0a

5 years agoIVGCVSW-3617 Add CL TensorHandleFactory
Jan Eilers [Fri, 16 Aug 2019 09:28:37 +0000 (10:28 +0100)]
IVGCVSW-3617 Add CL TensorHandleFactory

* Adds ClTensorHandleFactory
* Includes some refactoring of NeonTensorHandleFactory

Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I9f0874b1945050267c5ece970e6d9b200ed8a865

5 years agoIVGCVSW-3545 Update the device specs with the dynamic backend ids
Matteo Martincigh [Thu, 15 Aug 2019 11:08:06 +0000 (12:08 +0100)]
IVGCVSW-3545 Update the device specs with the dynamic backend ids

 * Now the utility function RegisterDynamicBackends returns a list of
   the backend ids that have been registered
 * The list of registered ids is added to the list of supported backends
   in the Runtime
 * Added unit tests

Change-Id: I97bbe1f680920358f5baba5a4666e4983b849cac
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3653 Fix memory initialization bug in TransposeConvolution2dTestImpl
Aron Virginas-Tar [Fri, 16 Aug 2019 16:49:42 +0000 (17:49 +0100)]
IVGCVSW-3653 Fix memory initialization bug in TransposeConvolution2dTestImpl

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Idebe0c3f956ccac39ef8bf139d693b76e839af7a

5 years agoIVGCVSW-3429 Add a utility Version class
Nikhil Raj [Mon, 19 Aug 2019 09:04:23 +0000 (10:04 +0100)]
IVGCVSW-3429 Add a utility Version class

Change-Id: Id429f7d9176c775953c1261c5a3e9f1d565927c1
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
5 years agoIVGCVSW-3550 Create Command Handler Registry
Francis Murtagh [Fri, 16 Aug 2019 16:45:07 +0000 (17:45 +0100)]
IVGCVSW-3550 Create Command Handler Registry

Change-Id: I51e34068d79ba660ae2f16b22ad2bb8191d473fa
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3625 Updated ACL pin to the 19.08 release branch
Sadik Armagan [Fri, 16 Aug 2019 14:06:13 +0000 (15:06 +0100)]
IVGCVSW-3625 Updated ACL pin to the 19.08 release branch

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

5 years agoIVGCVSW-3620 Fix Hal 1.2 Softmax test failures on GpuAcc and CpuAcc
Colm Donelan [Thu, 15 Aug 2019 15:03:17 +0000 (16:03 +0100)]
IVGCVSW-3620 Fix Hal 1.2 Softmax test failures on GpuAcc and CpuAcc

The following NeuralNetworkTests tests were failing on GpuAcc and CpuAcc:

GeneratedTests.softmax_v1_2_relaxed
GeneratedTests.softmax_v1_2_quant8
GeneratedTests.softmax_v1_2_2
GeneratedTests.softmax_v1_2_relaxed_2
GeneratedTests.softmax_v1_2_quant8_2

The default value for Softmax axis parameter in Android is -1 but is 1 in ACL.
Detect and handle this in ArmComputeUtils.ComputeSoftmaxAclAxis.

Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Ibb0660e4cb0dc6bd4c804c4397fbd61f38acdd9c

5 years agoIVGCVSW-3639 Add 5d tensor support
Matthew Jackson [Thu, 15 Aug 2019 14:14:18 +0000 (15:14 +0100)]
IVGCVSW-3639 Add 5d tensor support

* Increased MaxNumOfTensorDimensions and fixed issues related to its use
* Fixed issues caused by assuming 5d tensors are invalid
* Updated ArmComputeTensorUtils for 5d tensors
* Added 5d tensor unit tests for add, mul, stack and reshape (needed by IVGCVSW-3527)

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I5bcd64942d0d04efcc6c5acb240ad4b88e010743

5 years agoIVGCVSW-3425 Create the Command Handler Functor base class
Francis Murtagh [Fri, 16 Aug 2019 10:28:52 +0000 (11:28 +0100)]
IVGCVSW-3425 Create the Command Handler Functor base class

Change-Id: I59ac9b32ac594161bdc5e1de2cdee02d79fc1992
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3415 Create the Packet Class
Nikhil Raj [Thu, 15 Aug 2019 14:49:45 +0000 (15:49 +0100)]
IVGCVSW-3415 Create the Packet Class

Change-Id: Ie59e82e7f87f5ba6496aa8579bc9d40360d90999
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
5 years agoIVGCVSW-3622 Add Neon TensorHandleFactory
Narumol Prangnawarat [Wed, 14 Aug 2019 11:25:50 +0000 (12:25 +0100)]
IVGCVSW-3622 Add Neon TensorHandleFactory

Signed-off-by: James Conroy <james.conroy@arm.com>
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I9f24f7d97c1e7d37ee7d58ff85c6c3f8496e52ec

5 years agoIVGCVSW-3633 Fixed possible driver crash
Mike Kelly [Wed, 14 Aug 2019 10:33:11 +0000 (11:33 +0100)]
IVGCVSW-3633 Fixed possible driver crash

 * Fixed possible driver crash due to supportedTypes arrays with the wrong size.

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

5 years agoIVGCVSW-3636 Fix Graph and WorkloaData to support backend Import functionality
Ferran Balaguer [Wed, 14 Aug 2019 11:11:27 +0000 (12:11 +0100)]
IVGCVSW-3636 Fix Graph and WorkloaData to support backend Import functionality

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I634aa3b1d609ca33b196fd68ce7fb7881be73e6e

5 years agoMLCE-126 Delete unused Protobuf header import
James Conroy [Tue, 13 Aug 2019 15:13:15 +0000 (16:13 +0100)]
MLCE-126 Delete unused Protobuf header import

 * Removed wire_format_lite_inl.h header import
   as it is not used by ArmNN.
 * In Protobuf==3.8.0, the contents of this header
   are in wire_format_lite.h.

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

5 years agoIVGCVSW-3610 Remove unused leftover variable from TransposeConvolution2dImpl
Aron Virginas-Tar [Wed, 14 Aug 2019 10:39:50 +0000 (11:39 +0100)]
IVGCVSW-3610 Remove unused leftover variable from TransposeConvolution2dImpl

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I496f95ab464f3a38e0601799a6ff6ba5ffe3a776

5 years agoIVGCVSW-3474 Refactor Lstm and QuantizedLstm Param Getters
Francis Murtagh [Wed, 14 Aug 2019 08:51:36 +0000 (09:51 +0100)]
IVGCVSW-3474 Refactor Lstm and QuantizedLstm Param Getters

 * Change Getter Signatures to follow coding guidelines

Change-Id: Ic02621e834dbf79b9df63f8b4c6339f71651e944
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3546 Extend the backend docs
Matteo Martincigh [Thu, 8 Aug 2019 11:53:17 +0000 (12:53 +0100)]
IVGCVSW-3546 Extend the backend docs

 * Mentioned the TestDynamicBackend source files
 * Added the RefDynamicBackend example

Change-Id: I395c9f6c3107a5a5b16f658327d6048ff2ae68d8
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3416 Create Command Handler Key class
Francis Murtagh [Wed, 14 Aug 2019 08:49:34 +0000 (09:49 +0100)]
IVGCVSW-3416 Create Command Handler Key class

 * Add CommandHandlerKey class with all comparison operators
 * Add UnitTests to check key sorting in collection

Change-Id: Icbd493d1e51e681cbe22a9e70ab9428a8a2ad107
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3635 Remove temporary check from RefLayerSupport::IsTransposeConvolution2dSup...
Aron Virginas-Tar [Tue, 13 Aug 2019 16:41:01 +0000 (17:41 +0100)]
IVGCVSW-3635 Remove temporary check from RefLayerSupport::IsTransposeConvolution2dSupported()

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I85a9563e2d12a5eb9dbcac1b70563a303905b67b

5 years agoIVGCVSW-3616 Add multi-channel unit test for TransposeConvolution2d
Aron Virginas-Tar [Mon, 12 Aug 2019 13:29:59 +0000 (14:29 +0100)]
IVGCVSW-3616 Add multi-channel unit test for TransposeConvolution2d

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ib9271920b39fb9d730006c79a322e32008096b56

5 years agoIVGCVSW-3615 Update Transpose Convolution algorithm
Mike Kelly [Tue, 13 Aug 2019 09:06:25 +0000 (10:06 +0100)]
IVGCVSW-3615 Update Transpose Convolution algorithm

 * Now supports channel multiplier != 1 in Ref TransposeConvolution2d

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

5 years agoIVGCVSW-3620 Fix VTS CpuRef failures
Sadik Armagan [Fri, 9 Aug 2019 15:44:10 +0000 (16:44 +0100)]
IVGCVSW-3620 Fix VTS CpuRef failures

 * Fixed Max and Min VTS test failures.

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

5 years agoIVGCVSW-3607 Add CreateWorkloadFactory with TensorHandleFactoryRegistry
Narumol Prangnawarat [Tue, 13 Aug 2019 09:26:53 +0000 (10:26 +0100)]
IVGCVSW-3607 Add CreateWorkloadFactory with TensorHandleFactoryRegistry
in IBackendInternal

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