platform/upstream/armnn.git
4 years agoIVGCVSW-4149 Enable quantisation multiplier > 1 in all convolutions
Ryan OShea [Wed, 29 Jan 2020 16:19:55 +0000 (16:19 +0000)]
IVGCVSW-4149 Enable quantisation multiplier > 1 in all convolutions

Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com>
Change-Id: I9652844a868ce8e05c0433c051e7079cf203c422

4 years agoIVGCVSW-4316 First draft of IBackendProfiling and IBackendProfilingContext
Colm Donelan [Wed, 29 Jan 2020 15:22:43 +0000 (15:22 +0000)]
IVGCVSW-4316 First draft of IBackendProfiling and IBackendProfilingContext

* Introduce two new backend profiling interfaces IBackendProfiling
  and IBackendProfilingContext.
* Add a mechanism to pull a context from a backend through IBackendInternal
* Update CL, Neon and Ref backends to return an empty profiling backend.

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

4 years agoIVGCVSW-4152 Remove check for QAsymm8 in ArgMinMax CL layer support
Ryan OShea [Thu, 23 Jan 2020 11:56:05 +0000 (11:56 +0000)]
IVGCVSW-4152 Remove check for QAsymm8 in ArgMinMax CL layer support

 * Added ClLayerTests
 * Added ClEndToEndTests

Signed-off-by: Ryan OShea <ryaosh02@e121865.galway.arm.com>
Change-Id: I1512ebae248dee9a0e6a8c4f52ecf99f677a22c6

4 years agoIVGCVSW-4306 Verify the tflite Yolo v3
Keith Davis [Mon, 27 Jan 2020 15:24:59 +0000 (15:24 +0000)]
IVGCVSW-4306 Verify the tflite Yolo v3

 * Added debug layer support for QSymmS8
 * QSymmS8 support for workloads

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

4 years agoIVGCVSW-4335 Add support for per-channel QSymm8 to TfLite parser
Keith Davis [Wed, 22 Jan 2020 11:57:54 +0000 (11:57 +0000)]
IVGCVSW-4335 Add support for per-channel QSymm8 to TfLite parser

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

4 years agoIVGCVSW-4360 Update ACL pin to 19bd412fd044197726dbd8c756dbd74a9e33fd2b
Teresa Charlin [Tue, 21 Jan 2020 13:29:22 +0000 (13:29 +0000)]
IVGCVSW-4360 Update ACL pin to 19bd412fd044197726dbd8c756dbd74a9e33fd2b

!android-nn-driver:2614

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I3b4019cb562bd13cc661d9c175de4e3e1adea9a2

4 years agoIVGCVSW-4369 Add default offset and scale to IsLayerSupportedTestImpl
Teresa Charlin [Tue, 28 Jan 2020 12:24:34 +0000 (12:24 +0000)]
IVGCVSW-4369 Add default offset and scale to IsLayerSupportedTestImpl

*Fix IsLayerSupportedUint8Cl failure due to scale=0

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I6e5125eccdd495a9c98b434837d1e9ab371a4e8e

4 years agoIVGCVSW-4316 Promote ISendTimelinePacket and IProfilingGuidGenerator
Colm Donelan [Fri, 24 Jan 2020 16:27:02 +0000 (16:27 +0000)]
IVGCVSW-4316 Promote ISendTimelinePacket and IProfilingGuidGenerator

As part of IVGCVSW-4316 we need to expose ISendTimelinePacket and
IProfilingGuidGenerator to enable them to be used by backends for
profiling. This also required moving ProfilingRelationshipType from
ProfilingUtils.

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

4 years agoIVGCVSW-4313 Add Android case to dynamic reference CMakeLists
Narumol Prangnawarat [Mon, 27 Jan 2020 14:13:03 +0000 (14:13 +0000)]
IVGCVSW-4313 Add Android case to dynamic reference CMakeLists

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

4 years agoIVGCVSW-4380 Add NEON backend support for BatchToSpaceNd
Mike Kelly [Mon, 27 Jan 2020 12:14:47 +0000 (12:14 +0000)]
IVGCVSW-4380 Add NEON backend support for BatchToSpaceNd

 * Added NeonBatchToSpaceNdWorkload class.
 * Added CreateBatchToSpaceNd implementation to NeonWorkloadFactory.
 * Added IsBatchToSpaceNdSupported implementation to NeonLayerSupport.
 * Enabled BatchToSpaceNd tests on Neon backend.

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

4 years agoIVGCVSW-4262 Use ACL Permute and Reshape Validate function in Neon and CL
Kevin May [Thu, 12 Dec 2019 17:28:05 +0000 (17:28 +0000)]
IVGCVSW-4262 Use ACL Permute and Reshape Validate function in Neon and CL

!android-nn-driver:2642

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

4 years agoUpdates to Filesystem.cpp/hpp and NetworkSockets.cpp/hpp to fix failing master
David Monahan [Fri, 24 Jan 2020 09:13:33 +0000 (09:13 +0000)]
Updates to Filesystem.cpp/hpp and NetworkSockets.cpp/hpp to fix failing master

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

4 years agoMLCE-156: Add Division workload in CpuAcc
Pablo Tello [Thu, 23 Jan 2020 10:37:17 +0000 (10:37 +0000)]
MLCE-156: Add Division workload in CpuAcc

Change-Id: I1f228fcaf1077867d9755a2b850c6703387fab34
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
4 years agoIVGCVSW-4374 Add NEON backend support for SpaceToBatchNd
Mike Kelly [Fri, 24 Jan 2020 11:27:50 +0000 (11:27 +0000)]
IVGCVSW-4374 Add NEON backend support for SpaceToBatchNd

 * Added NeonSpaceToBatchNdWorkload class.
 * Added CreateSpaceToBatchNd implementation to NeonWorkloadFactory.
 * Added IsSpaceToBatchNdSupported implementation to NeonLayerSupport.
 * Enabled SpaceToBatchNd tests on Neon backend.

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

4 years agoAdd ARMNN_DLLEXPORT macro to import/export static data symbols on Windows
Rob Hughes [Tue, 7 Jan 2020 09:40:12 +0000 (09:40 +0000)]
Add ARMNN_DLLEXPORT macro to import/export static data symbols on Windows

Armnn has several static data symbols that are needed by the unit tests.
These are now explicitly marked for import when that header is included
from the unit test code.

See also https://cmake.org/cmake/help/v3.4/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html.

Change-Id: I4e71ba659b6321659a1396125b5a9c271578040f
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
4 years agoIVGCVSW-4370 Deprecate DataType::QuantizedSymm8PerAxis
Derek Lamberti [Wed, 22 Jan 2020 15:37:29 +0000 (15:37 +0000)]
IVGCVSW-4370 Deprecate DataType::QuantizedSymm8PerAxis

!android-nn-driver:2622

Change-Id: If99d3eff71ff66ba28af1e5af248299fe04511b9
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4259 Add frontend and reference workload for UnaryOperationLayer
josh minor [Mon, 6 Jan 2020 22:40:46 +0000 (16:40 -0600)]
IVGCVSW-4259 Add frontend and reference workload for UnaryOperationLayer

* Added new layer named ElementwiseUnary
* Deprecated existing Abs/Rsqrt layer functions
* Updated existing Abs/Rsqrt test infrastructure to use new layer
* Added boilerplate for new Exp,Neg,Sqrt elemwise op layers
* AbsQuantize test removed pending future commit
* Serialization support added

!android-nn-driver:2550

Change-Id: Ic595c645925e17b45db568187fd05646daf2e87f
Signed-off-by: josh minor <josh.minor@arm.com>
4 years agoIVGCVSW-4268 Print all Descriptors on dot graph
Teresa Charlin [Thu, 23 Jan 2020 11:44:24 +0000 (11:44 +0000)]
IVGCVSW-4268 Print all Descriptors on dot graph

Change-Id: I82a7dcffc3771efa8350e2e1e22cfb20969551f9
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
4 years agoAdd check to NetworkSockets.cpp to fix failing Android build
David Monahan [Wed, 22 Jan 2020 15:40:34 +0000 (15:40 +0000)]
Add check to NetworkSockets.cpp to fix failing Android build

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

4 years agoAdd thin abstraction layer for processes and filesystem
Rob Hughes [Tue, 7 Jan 2020 17:05:24 +0000 (17:05 +0000)]
Add thin abstraction layer for processes and filesystem

This is used instead of some hardcoded Unix calls and means this code
now works on Windows

(This is a rework of a previous patch which used boost, now that I have
been informed that we are trying to move towards removing boost).

Change-Id: Ib0d11055279bbd7b710f086e9890369e3ecbfe9a
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
4 years agoAdd thin abstraction layer for network sockets
Rob Hughes [Mon, 13 Jan 2020 11:14:59 +0000 (11:14 +0000)]
Add thin abstraction layer for network sockets

This makes SocketProfilingConnection and GatordMock work on Windows as
well as Linux

Change-Id: I4b10c079b653a1c3f61eb20694e5b5f8a6f5fdfb
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
4 years agoIVGCVSW-4364 Only apply deprecated attribute where available
Derek Lamberti [Tue, 21 Jan 2020 13:43:21 +0000 (13:43 +0000)]
IVGCVSW-4364 Only apply deprecated attribute where available

Change-Id: Ifde03ea6d9057db0949acad95560be8852c05f73
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4239 Remove dynamic link to libOpenCL.so
Francis Murtagh [Fri, 17 Jan 2020 11:18:01 +0000 (11:18 +0000)]
IVGCVSW-4239 Remove dynamic link to libOpenCL.so

 * Instead rely on ACL's dlopen() to dynamically load the libraries

Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I2b451c1c382f3baf51665da9add8f2415353849a
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
4 years agoIVGCVSW-4331 Calling RemoveDebugLayers can break connections
Mike Kelly [Mon, 20 Jan 2020 17:18:18 +0000 (17:18 +0000)]
IVGCVSW-4331 Calling RemoveDebugLayers can break connections

 * Changed RemoveDebugLayers to move all connections from its OutputSlot.

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

4 years agoRemove inclusion of ArmNN.hpp where it is unnecessary.
Matthew Bentham [Mon, 20 Jan 2020 16:16:06 +0000 (16:16 +0000)]
Remove inclusion of ArmNN.hpp where it is unnecessary.

Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: Idb583f8de4470eefb47c90189cd3c90e74e0440a

4 years agoRemove use of ArmNN.hpp where it is unnecessary.
Matthew Bentham [Mon, 20 Jan 2020 10:09:09 +0000 (10:09 +0000)]
Remove use of ArmNN.hpp where it is unnecessary.

Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I6c90eab1c6bad76d5c7b3bf094998fa4b454bcd1

4 years agoRemove use of ArmNN.hpp from other public headers
Matthew Bentham [Fri, 17 Jan 2020 11:47:42 +0000 (11:47 +0000)]
Remove use of ArmNN.hpp from other public headers

Also remove it from armnnSerializer and armnnUtils.

In general code within Arm NN should only include exactly what it needs.
This will help keep compile times down, and reduces the need for a
complete rebuild when anything in the public headers changes.

ArmNN.hpp should only be provided as a convenience for user code where the
user doesn't know enough of the API to decide which specific headers
they need.

Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I4ffcaa7662af4f88a1babf2bf17d03da6f77d665

4 years agoIVGCVSW-4106 Network not failing when Inference time is greater than threshold time
Nikhil Raj [Mon, 20 Jan 2020 11:50:16 +0000 (11:50 +0000)]
IVGCVSW-4106 Network not failing when Inference time is greater than threshold time

Signed-off-by: Nikhil Raj <nikraj01@e110586.galway.arm.com>
Change-Id: I4e5f96cb3a843a4ae29bad539c0eed42282344a8

4 years agoAdd Signed32 to debug layer
Narumol Prangnawarat [Thu, 9 Jan 2020 10:16:39 +0000 (10:16 +0000)]
Add Signed32 to debug layer

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

4 years agoGithub #320 Add logging and error checking to SimpleSample
Matthew Bentham [Fri, 17 Jan 2020 09:36:49 +0000 (09:36 +0000)]
Github #320 Add logging and error checking to SimpleSample

These things are frequently asked questions, so I think it makes sense
to add them to the basic sample.

Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I17cacb37fbe87e2a8fb14e7b7e85ebc528575386

4 years agoRemove Logging.hpp from ArmNN.hpp
Matthew Bentham [Wed, 15 Jan 2020 17:55:08 +0000 (17:55 +0000)]
Remove Logging.hpp from ArmNN.hpp

Logging.hpp is mainly useful for raising Arm NN log messages. There's
very little point in automatically including it for users of the library
via the ArmNN.hpp convenience header.

Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I71fb3188dc0b30c1bbc86a31996470c707d38c19

4 years agoRemove use of boost from Logging.hpp
Matthew Bentham [Wed, 15 Jan 2020 17:21:38 +0000 (17:21 +0000)]
Remove use of boost from Logging.hpp

This helps prevent leaking of boost names into Arm NN public headers.

Change-Id: I1605d2ed178965f8e502bc6a4b4ac3e627bbbbed
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
4 years agoSupport different flatbuffer libs for debug and release
Rob Hughes [Tue, 7 Jan 2020 13:26:42 +0000 (13:26 +0000)]
Support different flatbuffer libs for debug and release

The existing FLATBUFFERS_LIBRARY variable is still honoured, but if
not specified then we use CMake's find_library to find the debug and release
variants, using PATH_SUFFIXES to help separate debug and release.

This is the same approach we use for the armcompute libs.

Change-Id: I21e8da3f76669dbfb8dbdf49046f9db46cba50a2
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
4 years agoFix typo in name of GatordMock executable :O
Rob Hughes [Fri, 10 Jan 2020 09:15:30 +0000 (09:15 +0000)]
Fix typo in name of GatordMock executable :O

Change-Id: I36cbaa89dd521728835ca1e90da27a5f9b93a89d
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
4 years agoIVGCVSW-4193 Add QUANTIZE to the TfLite parser
Sadik Armagan [Tue, 10 Dec 2019 16:32:07 +0000 (16:32 +0000)]
IVGCVSW-4193 Add QUANTIZE to the TfLite parser

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

4 years agoIVGCVSW-4229 Fix Intermittent failures in ExternalProfiling
Finn Williams [Thu, 19 Dec 2019 17:05:18 +0000 (17:05 +0000)]
IVGCVSW-4229 Fix Intermittent failures in ExternalProfiling

 * Added a BufferManager.Reset() method to prevent packets being retained after a test
 * Fixed a bug causing the send thread to wait needlessly before moving to active state
 * Refactored SendCoundPacketTests and ProfilingTests test helper classes
 * Fixed issue where WaitForPacketSent could miss a notification and timeout

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

4 years agoRename quantized data types to remove ambiguity for signed/unsigned payloads
Derek Lamberti [Fri, 10 Jan 2020 17:14:08 +0000 (17:14 +0000)]
Rename quantized data types to remove ambiguity for signed/unsigned payloads

!android-nn-driver:2572

Change-Id: I8fe52ceb09987b3d05c539409510f535165455cc
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoUpdate commented clframework revision to match SHA of actual pinned ref
Francis Murtagh [Thu, 9 Jan 2020 14:24:11 +0000 (14:24 +0000)]
Update commented clframework revision to match SHA of actual pinned ref

 * Prevent confusion as branches/arm_compute_19_11 had different SHA

Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I9348f444a9c132285977e2768bc6124b10e58e15

4 years agoFix issues due to #include Windows.h
Rob Hughes [Thu, 9 Jan 2020 10:59:34 +0000 (10:59 +0000)]
Fix issues due to #include Windows.h

Change-Id: I9d77b5ad6cd81e87217da0c47788a43834c3ac28
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
4 years agoFix build error on gcc 7+ for implicit switch statement fallthroughs
Rob Hughes [Thu, 9 Jan 2020 12:46:21 +0000 (12:46 +0000)]
Fix build error on gcc 7+ for implicit switch statement fallthroughs

Change-Id: I48632a42892d8e9a616255fe106e40161b0ee55f
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
4 years agoIVGCVSW-4246 Enable -Wextra by default
Derek Lamberti [Tue, 10 Dec 2019 22:20:54 +0000 (22:20 +0000)]
IVGCVSW-4246 Enable -Wextra by default

!referencetests:218340

Change-Id: If24a604310d0363b1f09b406e4d53ebfeb106aad
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4246 Clean build of parsers with -Wextra
Derek Lamberti [Tue, 10 Dec 2019 22:00:43 +0000 (22:00 +0000)]
IVGCVSW-4246 Clean build of parsers with -Wextra

Change-Id: Ib00f185b431ab74fd9425d8f478bd2ddb182f74b
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4246 Clean build of profiling with -Wextra Pt2
Derek Lamberti [Thu, 2 Jan 2020 13:50:57 +0000 (13:50 +0000)]
IVGCVSW-4246 Clean build of profiling with -Wextra Pt2

Change-Id: Iae306546e7c009105712f177943ed76451bbe8e7
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4195 Fix MultipleNetworksCifar10 test to load dynamic backend
Narumol Prangnawarat [Thu, 2 Jan 2020 17:46:53 +0000 (17:46 +0000)]
IVGCVSW-4195 Fix MultipleNetworksCifar10 test to load dynamic backend
before checking if requested backends are valid

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

4 years agoIVGCVSW-4246 Clean build of backends with -Wextra
Derek Lamberti [Tue, 10 Dec 2019 22:07:09 +0000 (22:07 +0000)]
IVGCVSW-4246 Clean build of backends with -Wextra

Change-Id: I9e8d5576b3ec04c871785d5f2f9545bf1136e59b
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4246 Clean build of ArmNN API with -Wextra
Francis Murtagh [Tue, 31 Dec 2019 12:44:20 +0000 (12:44 +0000)]
IVGCVSW-4246 Clean build of ArmNN API with -Wextra

Change-Id: I6003d2f82ca02d926dd95abee712337783eacfc7
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
4 years agoIVGCVSW-4246 Clean build profiling with -Wextra
Derek Lamberti [Tue, 10 Dec 2019 21:23:23 +0000 (21:23 +0000)]
IVGCVSW-4246 Clean build profiling with -Wextra

Change-Id: Ieab870fa2194075433a0a26abdb13f69e1fbaaae
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4246 Clean build of Visitors with -Wextra
Derek Lamberti [Tue, 10 Dec 2019 22:05:21 +0000 (22:05 +0000)]
IVGCVSW-4246 Clean build of Visitors with -Wextra

Change-Id: Icb1b35ff55fa22103777853e6f49fc282d61750d
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4246 Clean build Layers with -Wextra
Derek Lamberti [Tue, 10 Dec 2019 21:12:59 +0000 (21:12 +0000)]
IVGCVSW-4246 Clean build Layers with -Wextra

Change-Id: I649cd2304fb0040164763d31a12fc77c6c3bed87
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoReplace Schema.s with generated .cpp file
Rob Hughes [Fri, 20 Dec 2019 17:43:16 +0000 (17:43 +0000)]
Replace Schema.s with generated .cpp file

This removes the dependency on an assembler (which must support .incbin).
Instead we use xxd as a custom build command to generate a .cpp file
which is included in the build.

This makes it possible to build on Windows, for which you need
cp.exe (from GNU Core Utils) and xxd.exe (from Vim).

Change-Id: I3a929640b1fdbfc27e2c38abd05bf3a298245ba5
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
4 years agoSome build fixes for MSVC
Rob Hughes [Mon, 16 Dec 2019 17:10:51 +0000 (17:10 +0000)]
Some build fixes for MSVC

Change-Id: I749430918b1268786690c3c8dc9fa2a9542d5d1d
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
4 years agoIVGCVSW-4246 Clean build optimizations with -Wextra
Derek Lamberti [Tue, 10 Dec 2019 21:42:57 +0000 (21:42 +0000)]
IVGCVSW-4246 Clean build optimizations with -Wextra

Change-Id: I2e0884c66855071eb3aa72b86de06c6ed6389d50
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4246 Clean build end-to-end tests with -Wextra
Derek Lamberti [Tue, 10 Dec 2019 21:20:10 +0000 (21:20 +0000)]
IVGCVSW-4246 Clean build end-to-end tests with -Wextra

Change-Id: Ia25f919e45a210e1e2d5d50b0c9098bf01d88013
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoFix compilation error when building for Linux (non Android)
Ayan Halder [Wed, 25 Dec 2019 23:27:12 +0000 (23:27 +0000)]
Fix compilation error when building for Linux (non Android)

When building for Linux, 'boost::ignore_unused()' should be used to suppress
the following error :-
error: unused parameter 's' [-Werror=unused-parameter]

Change-Id: I9ecfe93c75ee4117eb6d2e1e75442179cee9fec9

4 years agoIVGCVSW-4214 Add README for standalone dynamic backend developer guide
Narumol Prangnawarat [Thu, 12 Dec 2019 15:10:38 +0000 (15:10 +0000)]
IVGCVSW-4214 Add README for standalone dynamic backend developer guide

 * Add README of an example how to build standalone dynamic backends
 * Change the links to public API for backends

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

4 years agoIVGCVSW-4295 Disable mixed precision in ClPooling2dWorkload
janeil01 [Wed, 18 Dec 2019 11:52:20 +0000 (11:52 +0000)]
IVGCVSW-4295 Disable mixed precision in ClPooling2dWorkload

* google provided a patch so mixed precision can be removed

!devenv:217181

Signed-off-by: janeil01 <jan.eilers@arm.com>
Change-Id: I13630f465e51c629a85ca4e1ac504feeeec39aaa

4 years agoIVGCVSW-4237 Solve build dependencies to allow isolated build on sbuild
Francis Murtagh [Thu, 19 Dec 2019 11:35:55 +0000 (11:35 +0000)]
IVGCVSW-4237 Solve build dependencies to allow isolated build on sbuild

 * Remove FindBoost search for libboost-log which caused unnecessary dependency.

Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I58e30ca8ca76106ef08ddc782c462e96ddb211cf

4 years agoIVGCVSW-4302 Depthwise CTS. Fix ReorderWeightChannelsForAcl.
Teresa Charlin [Wed, 18 Dec 2019 22:10:47 +0000 (22:10 +0000)]
IVGCVSW-4302  Depthwise CTS. Fix ReorderWeightChannelsForAcl.

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I8d2050f4478fe9d9cdf9e374b8906827cc769689

4 years agoIVGCVSW-4246 Clean build of LayerTests with -Wextra
Derek Lamberti [Tue, 10 Dec 2019 21:57:35 +0000 (21:57 +0000)]
IVGCVSW-4246 Clean build of LayerTests with -Wextra

Change-Id: If3d98e45a6e2fa8e1afd19a4052334335feacf63
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4293 Fix multiple Concat issues.
Derek Lamberti [Tue, 17 Dec 2019 09:25:19 +0000 (09:25 +0000)]
IVGCVSW-4293 Fix multiple Concat issues.

* Fix issue with InputLayer or ConstantLayer being used as inputs to Concat.
* Fix issue with same input being used multiple times for same Concat.
* Fix issue where input is used by multiple concats.

Change-Id: Id4819aeec5a40e2afa0351838ba082b9f74aba33
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4261 Add backward compatibility to the Backend API
Narumol Prangnawarat [Thu, 12 Dec 2019 12:05:43 +0000 (12:05 +0000)]
IVGCVSW-4261 Add backward compatibility to the Backend API

 * Redirect the backendsCommon headers to the new headers
   in armnn/backends

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

4 years agoIVGCVSW-4178 Add code to increment the 3 ArmNN counters
Keith Davis [Mon, 2 Dec 2019 15:12:19 +0000 (15:12 +0000)]
IVGCVSW-4178 Add code to increment the 3 ArmNN counters

 * Increment at Runtime.cpp | BackendRegistry.cpp | LoadedNetwork.cpp
 * Update unit tests
 * UID generation is now handled by backends

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

4 years agoIVGCVSW-4212 Example of standalone dynamic reference backend
Narumol Prangnawarat [Mon, 9 Dec 2019 17:24:41 +0000 (17:24 +0000)]
IVGCVSW-4212 Example of standalone dynamic reference backend

 * Add example to build dynamic reference backend
 * Add functions to clear dynamic backends
 * Fix the error when dynamic backend is not deregistered
 * Add DYARMNN_DYNAMIC_BACKEND_ENABLED to check disable empty
   dynamic backend when dynamic backend is enabled

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

4 years agoIVGCVSW-4191 Add DEQUANTIZE to the TfLite Parser
Finn Williams [Fri, 6 Dec 2019 09:55:55 +0000 (09:55 +0000)]
IVGCVSW-4191 Add DEQUANTIZE to the TfLite Parser

!armnn:2421

Change-Id: Icdb02b7248ed408c3c8ad2e3e38df5b7cda1c545
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
4 years agoIVGCVSW-4157 Pass custom options directly to backends
Derek Lamberti [Wed, 20 Nov 2019 10:51:57 +0000 (10:51 +0000)]
IVGCVSW-4157 Pass custom options directly to backends

Change-Id: I98cfb913dbd00cb94bdb5dbe82753ca147f7f671
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4211 Add Signed 8 bit Quantisation support into the Reference backend
Finn Williams [Wed, 4 Dec 2019 14:27:27 +0000 (14:27 +0000)]
IVGCVSW-4211 Add Signed 8 bit Quantisation support into the Reference backend

!android-nn-driver:2435

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

4 years agoIVGCVSW-4227 Add CpuAcc backend support for DetectionPostProcess
Derek Lamberti [Thu, 5 Dec 2019 14:41:20 +0000 (14:41 +0000)]
IVGCVSW-4227 Add CpuAcc backend support for DetectionPostProcess

Change-Id: I318bf92b8d1db593d9c30b9b4412bfecbe65bc12
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4210 Create a public API for the common backend files
Matteo Martincigh [Thu, 28 Nov 2019 15:45:42 +0000 (15:45 +0000)]
IVGCVSW-4210 Create a public API for the common backend files

 * Create a public API for the common backend files
 * Move OutputHandler to armnn internal
 * Remove unused headers

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I3e86d908b021e3561befa9d45158d87d2cbb18c0

4 years agoIVGCVSW-4228 Fix SendThreadSendStreamMetadataPacket
Finn Williams [Fri, 6 Dec 2019 17:47:36 +0000 (17:47 +0000)]
IVGCVSW-4228 Fix SendThreadSendStreamMetadataPacket

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

4 years agoBugfix: Fix include directives for Gatord
Francis Murtagh [Fri, 6 Dec 2019 14:50:54 +0000 (14:50 +0000)]
Bugfix: Fix include directives for Gatord

 * Github issue #311

Change-Id: I5fd8bca4512643573f97805d69384d9445962801
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
4 years agoNNXSW-1896 Add missing layer types to InternalTypes.cpp.
Stefana Simion [Fri, 6 Dec 2019 09:28:53 +0000 (09:28 +0000)]
NNXSW-1896 Add missing layer types to InternalTypes.cpp.

Change-Id: I1fe9bba5774a2f46fad4ff90a9980b8f773d2cbb
Signed-off-by: Stefana Simion <Stefana.Simion@arm.com>
4 years agoMLCE-133 Fix dangling calls to Manage()
Pablo Tello [Tue, 3 Dec 2019 15:46:50 +0000 (15:46 +0000)]
MLCE-133 Fix dangling calls to Manage()

 * If nobody consumes an output tensor, the call to Manage()
   is not closed by a corresponding call to Allocate()

Change-Id: I6af9cff7aa1b7eb70bcf691c00c0ce07b48e7527
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
4 years agoAdd asserts to check memcpy addresses
Rob Hughes [Wed, 27 Nov 2019 14:27:11 +0000 (14:27 +0000)]
Add asserts to check memcpy addresses

Change-Id: I0432539197b21e3f430970993276be2b8b99bda6
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
4 years agoAdd noexcept to std::hash specialisation for BackendId
Matthew Bentham [Thu, 5 Dec 2019 10:37:09 +0000 (10:37 +0000)]
Add noexcept to std::hash specialisation for BackendId

This fixes a warning reported by gcc 8.3 with -Wextra

Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I5aad9fe201545d8c87ace9d24e53e900289986b8

4 years agoReplace boost logging with simple logger
Derek Lamberti [Tue, 26 Nov 2019 16:38:31 +0000 (16:38 +0000)]
Replace boost logging with simple logger

!referencetests:214319

* Reduces arm nn binary size ~15%
* Also fixed test logging black hole issues

Change-Id: Iba27db304d9a8088fa46aeb0b52225d93bb56bc8
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4179 Add RESIZE_NEAREST_NEIGHBOUR to the TfLite parser
Sadik Armagan [Thu, 5 Dec 2019 09:08:53 +0000 (09:08 +0000)]
IVGCVSW-4179 Add RESIZE_NEAREST_NEIGHBOUR to the TfLite parser

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

4 years agoIVGCVSW-4223 Change PeriodicCounterCapture Packet Family to 3
Jim Flynn [Wed, 4 Dec 2019 10:07:20 +0000 (10:07 +0000)]
IVGCVSW-4223 Change PeriodicCounterCapture Packet Family to 3

Change-Id: Ibc166c25d8d5fd09f407c0c697217a57b84d8cdc
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
4 years agoIVGCVSW-4016 Add the Inference timeline trace and unit tests
David Monahan [Mon, 2 Dec 2019 08:35:43 +0000 (08:35 +0000)]
IVGCVSW-4016 Add the Inference timeline trace and unit tests

Signed-off-by: David Monahan <david.monahan@arm.com>
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I0cfbc2e1ed8f1eded1841866ebf9f39a066e91af

4 years agoIVGCVSW-4118 Change the SendCounterPacket send thread to use do while
Finn Williams [Fri, 29 Nov 2019 13:56:33 +0000 (13:56 +0000)]
IVGCVSW-4118 Change the SendCounterPacket send thread to use do while

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

4 years agoIVGCVSW-4221 Fix SendCounterPacket hanging for indefinite time
Finn Williams [Tue, 3 Dec 2019 11:55:31 +0000 (11:55 +0000)]
IVGCVSW-4221 Fix SendCounterPacket hanging for indefinite time

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

4 years agoIVGCVSW-4171 Fix intermittent failure on FileOnlyProfilingDecoratorTests
janeil01 [Tue, 3 Dec 2019 17:01:32 +0000 (17:01 +0000)]
IVGCVSW-4171 Fix intermittent failure on FileOnlyProfilingDecoratorTests

* Added destructor to prevent hanging after raising an error
* Enhanced timeouts to prevent test from failing

Signed-off-by: janeil01 <jan.eilers@arm.com>
Change-Id: Ibf137835040edc51348d70ff67d27ef3fffac15b

4 years agoIVGCVSW-4206 Correctly pass execute network parameter.
Derek Lamberti [Tue, 3 Dec 2019 09:37:32 +0000 (09:37 +0000)]
IVGCVSW-4206 Correctly pass execute network parameter.

Change-Id: I595b89dcb6419f7cb73cee51705b90f6eec7088b
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4206 Optionally parse unsupported ops in ExecuteNetwork
Derek Lamberti [Mon, 2 Dec 2019 16:06:40 +0000 (16:06 +0000)]
IVGCVSW-4206 Optionally parse unsupported ops in ExecuteNetwork

Change-Id: I593e2540bd870d70aabb2c959f4e63a899967269
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4015 Add input and output workload to post-optimisation structure
Narumol Prangnawarat [Fri, 29 Nov 2019 17:17:43 +0000 (17:17 +0000)]
IVGCVSW-4015 Add input and output workload to post-optimisation structure

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

4 years agoMLCE-143 Fixed driver crash during CTS tests
Mike Kelly [Fri, 29 Nov 2019 16:35:55 +0000 (16:35 +0000)]
MLCE-143 Fixed driver crash during CTS tests

 * Only apply the Optimization when the base ReshapeLayer is connected to
   the child ReshapeLayer and no other Layer.

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

4 years agoIVGCVSW-4070 Implement "send post-optimized network structure"
Narumol Prangnawarat [Fri, 22 Nov 2019 11:26:06 +0000 (11:26 +0000)]
IVGCVSW-4070 Implement "send post-optimized network structure"

 * Send post-optimisation network structure if profiling service is enabled
 * Refactor TimelineUtilityMethods
 * Fix RecordEvent to link eventGuid with eventClassGuid
 * Add common types and guid to LabelsAndEventClasses
 * Add CreateRelationship to TimelineUtilityMethods
 * Add CreateTypedEntity to TimelineUtilityMethods
 * Add MarkEntityWithType to TimelineUtilityMethods
 * Move VerifyTimeline functions to ProfilingTestUtils
 * Post-optimisation network structure unit tests to Ref, Cl, Neon

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

4 years agoIVGCVSW-3860 Per-channel QSymm8 support of DepthwiseConvolution2d in Cl
Teresa Charlin [Fri, 29 Nov 2019 13:59:18 +0000 (13:59 +0000)]
IVGCVSW-3860 Per-channel QSymm8 support of DepthwiseConvolution2d in Cl
    *Add the call to ReorderWeightChannelsForAcl for QuantizedSymm8PerAxis weights

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I0d2e4c8328753ad15858130945b4fbb193943dfa

4 years agoIVGCVSW-4118 Fix long unit test execution
Colm Donelan [Fri, 29 Nov 2019 09:10:59 +0000 (09:10 +0000)]
IVGCVSW-4118 Fix long unit test execution

 * Reduced sleep_for timings
 * Removed duplicate SendStreamMetaDataPacket.
 * Modified SendCounterPacket::WaitForPacketSent to use wait_for
 * Modified SendCounterPacket::Send WaitingForAck to use wait_for
 * Added destructor to StreamRedirector.
 * Added method SendCounterPacketTests::HasWrittenData
 * Restructured many tests in ProfilingTests.

Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I55c59cac6674ac40a1056a5302a997d5da9e9d91
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
4 years agoIVGCVSW-4209 Create a public API for the ArmNN Utils
Matteo Martincigh [Thu, 28 Nov 2019 11:35:47 +0000 (11:35 +0000)]
IVGCVSW-4209 Create a public API for the ArmNN Utils

 * Moved the relevant armnnUtils headers to the new location:
   include/armnnUtils
 * Update the header usage throughout the source code

!android-nn-driver:2387

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

4 years agoGithub #306 Treat data_format attribute as optional in TfParser::ParseFusedBatchNorm()
Aron Virginas-Tar [Wed, 27 Nov 2019 13:29:51 +0000 (13:29 +0000)]
Github #306 Treat data_format attribute as optional in TfParser::ParseFusedBatchNorm()

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

4 years agoIVGCVSW-3864 Add support for per-channel QSymm8 DepthwiseConvolution2d to Neon backend
Aron Virginas-Tar [Wed, 27 Nov 2019 13:18:25 +0000 (13:18 +0000)]
IVGCVSW-3864 Add support for per-channel QSymm8 DepthwiseConvolution2d to Neon backend

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

4 years agoMake the profiling GUID test independent from random events
Matteo Martincigh [Fri, 22 Nov 2019 14:13:02 +0000 (14:13 +0000)]
Make the profiling GUID test independent from random events

 * Removed the random generation of strings
 * Actually generating a million unique strings for the test
 * Code cleanup

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

4 years agoRemove const type qualifiers with no effect
Matteo Martincigh [Thu, 21 Nov 2019 12:10:42 +0000 (12:10 +0000)]
Remove const type qualifiers with no effect

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

4 years agoMLCE-115 Remove redundant error checking in CL backend
Matthew Bentham [Wed, 27 Nov 2019 17:24:47 +0000 (17:24 +0000)]
MLCE-115 Remove redundant error checking in CL backend

This stuff is handled in CLPerumuteLayer::validate now

Change-Id: I552e7c0bbd1557d6b5e217c1e96aaeb2377accbd
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
4 years agoGithub #274 Use non-deprecated path to boost header
Matthew Bentham [Wed, 27 Nov 2019 16:00:06 +0000 (16:00 +0000)]
Github #274 Use non-deprecated path to boost header

Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I78c389148fbb733115e97f40d5271f47d3750c75

4 years agoIVGCVSW-4170 Also convert constants to FP16 when model converted
Derek Lamberti [Wed, 27 Nov 2019 09:29:57 +0000 (09:29 +0000)]
IVGCVSW-4170 Also convert constants to FP16 when model converted

Change-Id: Ideeec890a91379bfd52774633b1b35fa1b14f434
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4148 Extend reporting of quant multiplier > 1 as unsupported on ACL to per...
Aron Virginas-Tar [Wed, 27 Nov 2019 14:48:32 +0000 (14:48 +0000)]
IVGCVSW-4148 Extend reporting of quant multiplier > 1 as unsupported on ACL to per-axis case

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

4 years agoIVGCVSW-3859 Per-channel QSymm8 support of Convolution2d in Cl
Keith Davis [Tue, 26 Nov 2019 16:01:18 +0000 (16:01 +0000)]
IVGCVSW-3859 Per-channel QSymm8 support of Convolution2d in Cl

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

4 years agoAdd IsQuantizeType(DataType) for use in validation functions
Aron Virginas-Tar [Tue, 26 Nov 2019 12:50:34 +0000 (12:50 +0000)]
Add IsQuantizeType(DataType) for use in validation functions

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

4 years agoIVGCVSW-3728 Add CL workload for Slice
Aron Virginas-Tar [Mon, 25 Nov 2019 15:37:08 +0000 (15:37 +0000)]
IVGCVSW-3728 Add CL workload for Slice

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