platform/upstream/armnn.git
5 years agoNNXSW-1826 Move tests for Optimization classes to separate files
Rob Hughes [Tue, 24 Sep 2019 08:34:53 +0000 (09:34 +0100)]
NNXSW-1826 Move tests for Optimization classes to separate files

This splits up the >1000 line OptimizerTests.cpp file.

Each Optimization class now has its own test file, all of which are in a
subfolder of tests called "optimizations".

The original OptimizerTests.cpp now contains mostly (completely?) tests
for validating output shapes, which perhaps should be moved to
test files specific to the layer types they are testing.

Change-Id: Icd1196cad8b720abcb156921aab1adbd4026756b
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
5 years agoIVGCVSW-3439 Create the Command Thread
FinnWilliamsArm [Tue, 17 Sep 2019 15:53:53 +0000 (16:53 +0100)]
IVGCVSW-3439 Create the Command Thread

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

5 years agoIVGCVSW-3900 Add deserialization test for DepthToSpace
Aron Virginas-Tar [Tue, 24 Sep 2019 10:01:51 +0000 (11:01 +0100)]
IVGCVSW-3900 Add deserialization test for DepthToSpace

* Fixed bug in DepthToSpaceLayer::InferOutputShapes by removing
  leftover throw UnimplementedException
* Added Deserializer/DepthToSpaceFloat32 deserialization test

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

5 years agoIVGCVSW-3885 Add reference workload for DepthToSpace
Aron Virginas-Tar [Mon, 23 Sep 2019 18:11:59 +0000 (19:11 +0100)]
IVGCVSW-3885 Add reference workload for DepthToSpace

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

5 years agoNNXSW-1826 OptimizeConsecutiveReshapes: remove unnecessary call to MoveAllConnections
Rob Hughes [Mon, 23 Sep 2019 15:31:28 +0000 (16:31 +0100)]
NNXSW-1826 OptimizeConsecutiveReshapes: remove unnecessary call to MoveAllConnections

This is called at a time when newReshape has nothing connected to
its output slot (as it has just been created) and so is a no-op.

The code comment indicated that the intention was to connect the newReshape
to its *input*, but that has already been done in the InsertNewLayer() call
above, so the comment was incorrect.

There is a unit test covering this case ("OptimizeConsecutiveReshapesTest")

Change-Id: I933d5d1c6eb32f5a8269fb5d7c809cd7c89680d1
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
5 years agoIVGCVSW-3691 Fix the Counter Directory Packet data length
Matteo Martincigh [Tue, 24 Sep 2019 10:38:32 +0000 (11:38 +0100)]
IVGCVSW-3691 Fix the Counter Directory Packet data length

 * The data_length field in the header represents only the size
   of the data included in the packet after the header, so the
   header size is not included
 * Removed a number of conversion macros in SendCounterPacket by
   using numeric casts where possible
 * Updated the unit tests accordingly

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ifb23c341c442ff3d33b234d4213b739a77ceb658

5 years agoIVGCVSW-3623 Implement NeonTensorHandle::Import
David Monahan [Tue, 20 Aug 2019 10:25:29 +0000 (11:25 +0100)]
IVGCVSW-3623 Implement NeonTensorHandle::Import

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

5 years agoReplace uses of non-standard C++:
Rob Hughes [Mon, 23 Sep 2019 15:24:05 +0000 (16:24 +0100)]
Replace uses of non-standard C++:

* Variable-length array replaced with std::vector
* "and" replaced with "&&" (OK, this one is standard but MSVC doesn't
like it and it's inconsistent with the rest of the codebase)
* Replace u_int8_t with uint8_t

Change-Id: I7b968a2cfa85a5492a2a547364464c594efb067b
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
5 years agoIVGCVSW-3413 Add the Counters Metadata
FinnWilliamsArm [Wed, 18 Sep 2019 09:28:16 +0000 (10:28 +0100)]
IVGCVSW-3413 Add the Counters Metadata

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

5 years agoIVGCVSW-3437 Add Request Counter Directory Command Handler
Narumol Prangnawarat [Fri, 20 Sep 2019 11:04:55 +0000 (12:04 +0100)]
IVGCVSW-3437 Add Request Counter Directory Command Handler

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

5 years agoIVGCVSW-3887 Add Quantizer support for DepthToSpace
Aron Virginas-Tar [Fri, 20 Sep 2019 15:38:01 +0000 (16:38 +0100)]
IVGCVSW-3887 Add Quantizer support for DepthToSpace

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

5 years agoIVGCVSW-3433 Create the Periodic Counter Capture Thread
Francis Murtagh [Fri, 20 Sep 2019 14:40:09 +0000 (15:40 +0100)]
IVGCVSW-3433 Create the Periodic Counter Capture Thread

 * Add Periodic counter thread object
 * Add Unit test for thread
 * Move MockBuffer to header file to allow reuse

Change-Id: Id2a8ea636723ab35e8a50efc200c8c76059bba02
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3886 Add serialization support for DepthToSpace
Aron Virginas-Tar [Fri, 20 Sep 2019 09:42:02 +0000 (10:42 +0100)]
IVGCVSW-3886 Add serialization support for DepthToSpace

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

5 years agoFix some minor issues around SpaceToDepth
Aron Virginas-Tar [Thu, 19 Sep 2019 13:39:37 +0000 (14:39 +0100)]
Fix some minor issues around SpaceToDepth

* Removed unnecessary code from SpaceToDepthLayer::InferOutputShapes()
* Refactored SpaceToDepthQueueDescriptor::Validate() and added extra
  checks for block size and output depth

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

5 years agoIVGCVSW-3883 Add frontend for DepthToSpace layer
Aron Virginas-Tar [Thu, 19 Sep 2019 13:31:17 +0000 (14:31 +0100)]
IVGCVSW-3883 Add frontend for DepthToSpace layer

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

5 years agoIVGCVSW-3880 Add deserialization test for SLICE
Aron Virginas-Tar [Fri, 20 Sep 2019 10:21:14 +0000 (11:21 +0100)]
IVGCVSW-3880 Add deserialization test for SLICE

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

5 years agoIVGCVSW-3430 Connection Acknowledged Command Handler Implementation
Sadik Armagan [Wed, 18 Sep 2019 16:29:00 +0000 (17:29 +0100)]
IVGCVSW-3430 Connection Acknowledged Command Handler Implementation

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

5 years agoIVGCVSW-3880 Add serialization support for SLICE
Aron Virginas-Tar [Wed, 18 Sep 2019 12:36:52 +0000 (13:36 +0100)]
IVGCVSW-3880 Add serialization support for SLICE

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

5 years agoFix illegal use of anonymous stack veriable in Deserializer
Matthew Bentham [Thu, 19 Sep 2019 11:04:13 +0000 (12:04 +0100)]
Fix illegal use of anonymous stack veriable in Deserializer

Temporary lifetime extension certainly applies where the local
variable is a const reference, but in this case (non-const refernece)
address sanitizer was reporting a problem. In any case in other
places that we use ToTensorInfo we store the value, so I think
the original code here was a mistake.

Change-Id: I55e185c46b1bf367a96d7d8c411ef86f07e8bd8d
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
5 years agoIVGCVSW-3727 Add LayerType::Slice to GetLayerTypeAsCString()
Aron Virginas-Tar [Thu, 19 Sep 2019 10:44:45 +0000 (11:44 +0100)]
IVGCVSW-3727 Add LayerType::Slice to GetLayerTypeAsCString()

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

5 years agoIVGCVSW-3723 Adding reference workload support for ArgMinMax
Nikhil Raj [Thu, 19 Sep 2019 10:21:11 +0000 (11:21 +0100)]
IVGCVSW-3723 Adding reference workload support for ArgMinMax

Change-Id: I65209ecec4e3abf808163239748d6e830568c2e3
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
5 years agoGithub #257 Fix failing unit test "DynamicBackendTests/OpenCloseHandle"
Jegathesan Shanmugam [Wed, 11 Sep 2019 08:30:42 +0000 (14:00 +0530)]
Github #257 Fix failing unit test "DynamicBackendTests/OpenCloseHandle"

Signed-off-by: Jegathesan Shanmugam <nullbyte.in@gmail.com>
Change-Id: Ib61ebc7db40a3d873d53bb4205460e894ba0b904

5 years agoIVGCVSW-3725 Adding quantization support for ArgMinMax
Nikhil Raj [Wed, 18 Sep 2019 16:16:31 +0000 (17:16 +0100)]
IVGCVSW-3725 Adding quantization support for ArgMinMax

Change-Id: I7582a9ee36b4d1764a5a137cefe9b7b7dfe30254
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
5 years agoIVGCVSW-3691 Implement SendCounterPacket.SendCounterDirectoryPacket() function
Matteo Martincigh [Thu, 5 Sep 2019 11:02:04 +0000 (12:02 +0100)]
IVGCVSW-3691 Implement SendCounterPacket.SendCounterDirectoryPacket() function

 * Changed the signature of SendCounterDirectoryPacket to accept any
   ICounterDirectory object
 * Added helper methods to the SendCounterPacket class for creating the records
 * Created mock classes for testing
 * Added unit tests for both SendCounterDirectoryPacket and the helper methods
 * Added unit tests for the SWTrace utility functions
 * Added ReadUint8 utility function for getting single byte out of a buffer
 * Disabled extra sign-conversion warning in the conversion macro

Change-Id: Ie2dddcd6824ed07b623f0cd78d9b7d05c5b70c39
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3432 Fix a multithread store conflict
Jim Flynn [Tue, 17 Sep 2019 11:29:50 +0000 (12:29 +0100)]
IVGCVSW-3432 Fix a multithread store conflict

* Unit test was using the same CaptureData object across 50 threads

Change-Id: I0249b5a8e0bb05e3d3efdd855f5b34b1d5ef3dc9
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoCONSERV-3867 Fix typos in the Dynamic Backends readme file
Matteo Martincigh [Wed, 18 Sep 2019 11:01:49 +0000 (12:01 +0100)]
CONSERV-3867 Fix typos in the Dynamic Backends readme file

Change-Id: I73253cf1bee6a626ec65ab92555f70fbf00d98fc
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3881 Add Quantizer support for SLICE
Aron Virginas-Tar [Wed, 18 Sep 2019 13:49:29 +0000 (14:49 +0100)]
IVGCVSW-3881 Add Quantizer support for SLICE

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

5 years agoIVGCVSW-3691 Add extra unit tests to complete coverage for
Matteo Martincigh [Wed, 18 Sep 2019 09:53:24 +0000 (10:53 +0100)]
IVGCVSW-3691 Add extra unit tests to complete coverage for
the CounterDirectory class

Change-Id: I37c6d2b43d3994878c8daeeb0ff226bf411c0aae
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3878 Add reference workload for SLICE
Aron Virginas-Tar [Tue, 17 Sep 2019 16:27:04 +0000 (17:27 +0100)]
IVGCVSW-3878 Add reference workload for SLICE

* Added reference workload implementation and layer tests
  for all supported tensor dimensions (1d, 2d, 3d, 4d)

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

5 years agoIVGCVSW-3879 Fix output shape inference formula for TransposeConvolution2d
Aron Virginas-Tar [Tue, 17 Sep 2019 11:58:22 +0000 (12:58 +0100)]
IVGCVSW-3879 Fix output shape inference formula for TransposeConvolution2d

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

5 years agoIVGCVSW-3691 Rework the CounterDirectory class to take into consideration
Matteo Martincigh [Thu, 5 Sep 2019 11:02:04 +0000 (12:02 +0100)]
IVGCVSW-3691 Rework the CounterDirectory class to take into consideration
the connections between components

 * Added constructors and connections to the profiling classes
 * Used hash table to keep track of the profiling objects by UID
 * Added register methods
 * Added find/check helper methods
 * Updated the makefile to include the profiling directory
 * Added unit tests for the CounterDirectory class
 * Added ICounterDirectory interface class for read-only use
 * Added custom macro to locally disable conversion warnings

Change-Id: I3f53a68663ee77b8d03ac0ef7dc01e90c6893511
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3877 Reduce code duplication in TestNameOnlyLayerVisitor
Aron Virginas-Tar [Mon, 16 Sep 2019 15:30:59 +0000 (16:30 +0100)]
IVGCVSW-3877 Reduce code duplication in TestNameOnlyLayerVisitor

* Defined macros for common class structure and near-identical
  test cases

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

5 years agoIVGCVSW-3875 Add frontend for SLICE layer
Aron Virginas-Tar [Mon, 16 Sep 2019 13:27:45 +0000 (14:27 +0100)]
IVGCVSW-3875 Add frontend for SLICE layer

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

5 years agoIVGCVSW-3694 Add ArgMinMax implementation for Ref
Narumol Prangnawarat [Mon, 16 Sep 2019 16:00:22 +0000 (17:00 +0100)]
IVGCVSW-3694 Add ArgMinMax implementation for Ref

 * Add ArgMinMax implementation
 * Add utility function to get number of elements between axis
 * Add utility function to get unsigned axis
 * Unit tests for ArgMinMax function

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

5 years agoIVGCVSW-3826: Implement IProfiling functions
FinnWilliamsArm [Mon, 16 Sep 2019 11:06:47 +0000 (12:06 +0100)]
IVGCVSW-3826: Implement IProfiling functions

!armnn:1814

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I82c7453d7969880e321572637adc0fb9c0e5fd7b

5 years agoFix typo int comment surrounding constructor in ResizeLayer.hpp
Aron Virginas-Tar [Mon, 16 Sep 2019 12:12:42 +0000 (13:12 +0100)]
Fix typo int comment surrounding constructor in ResizeLayer.hpp

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

5 years agoIVGCVSW-3687 Add INetworkProperties to LoadNetwork
David Monahan [Wed, 4 Sep 2019 08:22:10 +0000 (09:22 +0100)]
IVGCVSW-3687 Add INetworkProperties to LoadNetwork

 * Allows users to specify if Import/Export should be used

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

5 years agoIVGCVSW-3868 Add support of Int32 to Reshape layer
Narumol Prangnawarat [Fri, 13 Sep 2019 15:53:38 +0000 (16:53 +0100)]
IVGCVSW-3868 Add support of Int32 to Reshape layer

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

5 years agoIVGCVSW-3858 Fix RefTensorHandleTests on Raspberry Pi
Aron Virginas-Tar [Fri, 13 Sep 2019 12:37:03 +0000 (13:37 +0100)]
IVGCVSW-3858 Fix RefTensorHandleTests on Raspberry Pi

* Fix alignment check to use sizeof(size_t) instead of a hard-coded value

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

5 years agoSplit out basic CaptureData unit tests from Holder tests
Matthew Bentham [Fri, 13 Sep 2019 11:45:04 +0000 (12:45 +0100)]
Split out basic CaptureData unit tests from Holder tests

Change-Id: I68f62c2941c4af77a48829bbc71d5836d9477b5d
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
5 years agoIVGCVSW-3854 Fix QuantizedLstmEndToEndTest on Raspberry Pi
Aron Virginas-Tar [Thu, 12 Sep 2019 10:03:09 +0000 (11:03 +0100)]
IVGCVSW-3854 Fix QuantizedLstmEndToEndTest on Raspberry Pi

* Do not rely on boost::test_tools::tolerance for comparing integer values,
  as this is not supported in all Boost versions

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

5 years agoIVGCVSW-3660 Add SQRT unit tests for Neon and CL backends
Sadik Armagan [Fri, 13 Sep 2019 16:07:19 +0000 (17:07 +0100)]
IVGCVSW-3660 Add SQRT unit tests for Neon and CL backends

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

5 years agoIn CopyTensorContentsGeneric coalesce inner dimensions where possible
Matthew Bentham [Sat, 14 Sep 2019 23:06:05 +0000 (00:06 +0100)]
In CopyTensorContentsGeneric coalesce inner dimensions where possible

This reduces the number of function calls in the inner loop, and
allows for optimised implementations of memcpy to improve bandwidth

Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Change-Id: I7458b45c075c87805242e92e54448b9dd762227f

5 years agoRename variables in CopyTensorContents to assume NHWC
Matthew Bentham [Sat, 14 Sep 2019 22:35:28 +0000 (23:35 +0100)]
Rename variables in CopyTensorContents to assume NHWC

Change-Id: I533991c8829256570529c18023a5e882878cc85a
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
5 years agoIVGCVSW-3872 Add Missing packet to SendMetaDataPacket
Ferran Balaguer [Fri, 13 Sep 2019 12:31:40 +0000 (13:31 +0100)]
IVGCVSW-3872 Add Missing packet to SendMetaDataPacket

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

5 years agoIVGCVSW-3873 Update ACL pin
Sadik Armagan [Fri, 13 Sep 2019 15:22:53 +0000 (16:22 +0100)]
IVGCVSW-3873 Update ACL pin

 * Update ACL pin to include fix for Activation.Sqrt issue on Neon

!android-nn-driver:1924

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

5 years agoIVGCVSW-3436 Create the Periodic Counter Selection Command Handler
Ferran Balaguer [Wed, 28 Aug 2019 15:57:18 +0000 (16:57 +0100)]
IVGCVSW-3436 Create the Periodic Counter Selection Command Handler

Change-Id: Ia6fe19db5aebe82bb00dcbab17e16633befda0a5
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
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>