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
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
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>
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>
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
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
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
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>
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>
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
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>
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
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
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>
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>
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>
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>
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
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>
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
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>
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
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
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
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
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>
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>
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
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
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
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
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>
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
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
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
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
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
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>
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
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>
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
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
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
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
Aron Virginas-Tar [Tue, 26 Nov 2019 14:04:54 +0000 (14:04 +0000)]
IVGCVSW-3866 Add support for per-channel QSymm8 Convolution2d to Neon backend
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: If7d366b2894050c53a651016165f34be1a2ce7a6
Nikhil Raj [Mon, 25 Nov 2019 12:03:17 +0000 (12:03 +0000)]
IVGCVSW-4174 Update adb version in the BuildGuideAndroidNDK.md
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Ie31b2caafe0e83dad6a88dca6f6c7197a2fc2d5a
Sadik Armagan [Fri, 22 Nov 2019 12:52:28 +0000 (12:52 +0000)]
IVGCVSW-4158 FP16 Mobilenet V1 and V2 30% regression on ArmNN on Mate20
* Enable FP16 mixed precision for Android Q
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I5ddb94b13385e1fec39e4407dffc8e4bc6b8d64a
Matthew Bentham [Fri, 22 Nov 2019 11:24:54 +0000 (11:24 +0000)]
Github #251 Surround local structs with anonymous namespace
This fixes a one-definition-rule violation
Change-Id: I0941ed21a04876009546b9b73f5fdfbf73c4110d
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
James Conroy [Tue, 19 Nov 2019 15:28:58 +0000 (15:28 +0000)]
IVGCVSW-4148 Report quant multiplier > 1 as unsupported for ACL
* This is a temporary measure that needs to be
removed when quantization multiplier > 1.0f
support has been added for NEON and CL.
* Layers affected: convolution, depthwise convolution,
dilated depthwise convolution and transpose
convolution.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Ief1aec2ff0eedf8250f6a8675288e1c343dcfce4
Colm Donelan [Wed, 20 Nov 2019 14:59:12 +0000 (14:59 +0000)]
IVGCVSW-4124 Replacing the "sleep_for" loop from FileOnlyProfilingConnection
* Replacing the "sleep_for" loop in FileOnlyProfilingConnection with
a producer consumer conditional mutex.
* Reducing the times sleep loop times in FileOnlyProfilingDecoratorTests.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Ied2302b508b6e4e6b50809c77e3f19115449d0b6
Sadik Armagan [Wed, 20 Nov 2019 16:18:55 +0000 (16:18 +0000)]
IVGCVSW-4151 HAL 1_2 Dequantize FP32 Per Channel Tests on CpuAcc Failing
* Added support for data types QuantisedSymm8 and QuantizedSymm8PerAxis
as they are supported on CpuAcc
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I55f81b35c8869bc37b7634bdbe91b8e3339eb648
Narumol Prangnawarat [Tue, 19 Nov 2019 15:49:18 +0000 (15:49 +0000)]
IVGCVSW-4070 Add CreatedNamedTypeEntity and CreateNamedTypedChildEntity
functions with Guid
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ide3c3b0a05830af055b3a2c733af4c1c57c0dbaa
Kevin May [Tue, 19 Nov 2019 15:29:05 +0000 (15:29 +0000)]
Revert "Only enable mixed precision FP16 pooling for Android Q"
This reverts commit
60538ada2b90704abcf6473144639103d80287a5.
Change-Id: I099e397fe1232e0f470d89a11d220752543e4e4c
josh minor [Wed, 13 Nov 2019 16:55:17 +0000 (10:55 -0600)]
IVGCVSW-1530 Add TfLite slice parser and fix transpose perm vector creation
* TfLite slice parser and relevant tests added
* TfLite transpose parser logic added to translate Tf/np permutation
vector definitions to Armnn definitions
* TfLite transpose parser no permute data test modified to include
data for default permutation vector when none specified
Signed-off-by: josh minor <josh.minor@arm.com>
Change-Id: Iebd30971bd180593dc6b8f0d5be1d1bc61a3a5bf
Francis Murtagh [Tue, 19 Nov 2019 12:24:19 +0000 (12:24 +0000)]
IVGCVSW-3697 Add check for ArgMinMax QAsymm8 to ClLayerSupport
* Enable Neon EndToEnd tests for ArgMinMax QAsymm8
* Enable Neon Layer tests for ArgMinMax QAsymm8
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: Ifa7463ded4397cacb82fb3667006f08ecbe3cd32
James Conroy [Mon, 18 Nov 2019 17:07:43 +0000 (17:07 +0000)]
IVGCVSW-4077 Fix issue when NEON import disabled
* Removes workaround which handled null dstFactory
when NEON import was disabled, and now handles
this in the correct way.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Ief42b3c52d018f0fa71be4d4d37516f2caad1e0d
Narumol Prangnawarat [Mon, 18 Nov 2019 15:34:23 +0000 (15:34 +0000)]
IVGCVSW-4068 Add Guid to Workload
* Add Guid to Workload
* Remove circular dependency
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Signed-off-by: janeil01 <jan.eilers@arm.com>
Change-Id: I15342fa7481c6bdc050e057dce2d74bba07fe2dd
josh minor [Fri, 15 Nov 2019 20:53:22 +0000 (14:53 -0600)]
IVGCVSW-3729 Added neon slice workload and supporting neon layer tests
* Support added for ACL neon slice workload
* Utility function created to translate ArmNN slice layer params to ACL neon slice layer equivalent
* Neon slice layer tests added as per SliceTestImpl.hpp
Signed-off-by: josh minor <josh.minor@arm.com>
Change-Id: Id583465311879af139e8e977f16ed2280c937ac7
Mike Kelly [Tue, 19 Nov 2019 09:12:19 +0000 (09:12 +0000)]
MLCE-144 Cts NNAPI test cases failed
* Fixed numerous CTS/VTS failures related to Quantization
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: If5c20256366e80b6b9bbc46b2a1c410a9b8c48e1
Kevin May [Mon, 18 Nov 2019 15:56:44 +0000 (15:56 +0000)]
IVGCVSW-4116 Update ACL pin to the 19.11 release branch
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I89a920b53b6f32ff37b7a4537e7ad38eed1ff608
Nikhil Raj [Mon, 18 Nov 2019 15:13:09 +0000 (15:13 +0000)]
IVGCVSW-4062 Update Readme for 19.11
* Update BuildGuideCrossCompilation.md
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Ie16dfe477271e411eef0b5e68f636b81a61d5c33
Narumol Prangnawarat [Fri, 15 Nov 2019 17:38:44 +0000 (17:38 +0000)]
IVGCVSW-3980 Implementation of Guid generator
* Improve implementation of Guid Generator to separate the range of
Static Guid and Dynamic Guid
* Unit tests to ensure non-collision
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I4ad1a75ea0b1f37155da0decafb51fc5a61e4187
Tee Jung [Wed, 13 Nov 2019 07:17:46 +0000 (07:17 +0000)]
Fix quantizer crash by zero tensor
Signed-off-by: Jung Tae-young <tee.ty.jung@openedges.com>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I1f0dfa4ca76e1c85a2b8fb5de12039a260224951
Aron Virginas-Tar [Fri, 15 Nov 2019 17:19:31 +0000 (17:19 +0000)]
IVGCVSW-4117 Update version number to 19.11
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: If56648c1d51014b872e81ff4239060ccbf55e8dc
Tee Jung [Wed, 13 Nov 2019 07:23:14 +0000 (07:23 +0000)]
Fix possible crash in case of zero dimension tensor in the ONNX
parser
Signed-off-by: Jung Tae-young <tee.ty.jung@openedges.com>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I396792d4d59172cccb50d77de7e6b74977b289ed
janeil01 [Fri, 15 Nov 2019 15:00:16 +0000 (15:00 +0000)]
IVGCVSW-3486 Add clipping parameter validation in LstmQueueDescriptor
* Add clipping parameter validation in LstmQueueDescriptor
* Related UnitTest
Signed-off-by: janeil01 <jan.eilers@arm.com>
Change-Id: I86ff81cacc0e1fff5b78a8d6c2dcbf9ff57e2272
Colm Donelan [Thu, 14 Nov 2019 14:19:07 +0000 (14:19 +0000)]
IVGCVSW-4129 Fix thread starvation due to low capture periods
* Set default capture period to 10mSec.
* Validate capture period in PeriodicCounterSelectionCommandHandler
pull it up to 10mSec if it is lower.
* Fix segmentation fault in GatordMock when receive thread closes.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I9f7ddc70bd99c102c5baef872d28329976a4dc07
Matteo Martincigh [Wed, 13 Nov 2019 10:56:41 +0000 (10:56 +0000)]
IVGCVSW-4074 Send Timeline message in RequestCounterDirectoryCommandHandler
* Added call to SendTimelineMessageDirectoryPackage in the handler
* Updated the unit tests accordingly
* Refactored SendTimelinePacket to remove macro
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I7bb6f8575945b99a0e77ef30ecfe4dee3058669e
Aron Virginas-Tar [Wed, 13 Nov 2019 15:16:28 +0000 (15:16 +0000)]
IVGCVSW-4119 Fix FP16 to FP32 fallback mechanism in optimizer to work with Dequantize
* Check for output data type as well as input data type when determining
whether we should attempt to fall back to FP32 if FP16 is not supported
* Override output type for Dequantize in IsLayerSupported() instead of
input type
* Updated original input type from FP16 to FP32 in InsertConvertFp32ToFp16LayersAfter()
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ic6477fd17cea5a91bd8bf9ae0cf836520897d5b7
Aron Virginas-Tar [Fri, 15 Nov 2019 10:22:28 +0000 (10:22 +0000)]
IVGCVSW-4140 Report per-axis quantization as unsupported for DepthwiseConvolution on ACL backends
* This is a temporary measure that needs to be removed as soon as the
NEON and CL DepthwiseConvolution workloads will have added support
for per-axis quantization
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I24eb285230293392a6ed50aece1101e5aed7f90e
Matteo Martincigh [Fri, 8 Nov 2019 11:23:06 +0000 (11:23 +0000)]
IVGCVSW-4073 Send stream info in the ConnectionAcknowledgedCommandHandler
* Added call to ISendTimelinePacket::SendStreamMetaDataPacket
* Added call to ISendTimelinePacket::SendTimelineMessageDirectoryPackage
* Added new StreamMetadataCommandHandler class to the mock Gatord service
* Updated code and unit tests
* Added include paths to the gatord mock target
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ic6d200b513175884607b7c0563cbfa4942ff2fc6
Matteo Martincigh [Wed, 6 Nov 2019 15:30:54 +0000 (15:30 +0000)]
IVGCVSW-4072 Add stream header to Timeline Message Directory packet
* Refactored the WriteTimelineMessageDirectoryPacket function
* Added the stream header to the packet
* Updated decoders/parsers
* Updated unit tests accordingly
* Minor refactoring
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I58f15fde54adc6414ca9fd5fb8d6157cad867339
Rob Hughes [Fri, 8 Nov 2019 15:50:10 +0000 (15:50 +0000)]
NNXSW-1853 Change SubgraphViewSelector algorithm
The current algorithm in SubgraphViewSelector has a bug that can lead to
it producing subgraphs which have a dependency cycle (see the newly
added test case 'ValidMerge' for a repro). It also fails to merge
subgraphs in some cases where it could, which leads to smaller subgraphs.
In the case of FSRCNN, the NPU cannot support these smaller subgraphs and
so this is blocking us from supporting that network.
This commit changes the algorithm to fix the dependency bug and
also make it so that subgraphs are merged in the cases that were missed
before. It also adds some unit tests to cover cases that were problematic
before, and to extend coverage for the new algorithm.
The new algorithm has two downsides compared to the previous one:
1. Disjoint subgraphs are not merged. This can never lead to a failed
compilation by the NPU and so I believe this is less of an issue than
the previous algorithm's "missed merges". This could however lead to a
runtime performance loss in some cases as the NPU will be unable
to parallelise as many operations. There are some unit tests that cover
this which I have disabled.
2. The performance is worse. I have spent some time analysing this and
for a graph with ~1000 layers the new algorithm takes 20ms vs. the
old algorithm's 4ms (on my desktop PC). I believe the performance is
still within acceptable limits. I also compared inception V3 (which was
the network which caused performance issues with the original version of
the splitting algorithm) and this new algorithm has not regressed there
(200-300us in both cases).
Change-Id: I1dd64a779f272723621e04d203b5a2752a6af2ef
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
Rob Hughes [Fri, 15 Nov 2019 09:04:17 +0000 (09:04 +0000)]
Print CMake messages on stdout rather than stderr
The default version of message("...") print to stderr, which is inappropriate
for informational messages such as the ones we are printing in these cases.
Using message(STATUS "...") makes these messages appear on stdout instead
which is more appropriate.
Change-Id: I02f41e6b4948e6938566f06d7164444bd5b8199e
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
Aron Virginas-Tar [Tue, 12 Nov 2019 16:15:11 +0000 (16:15 +0000)]
Add FP16 support to DebugWorkload
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ia879f2d84a1b977474ee0dafa976f2aab32bd3ae
Derek Lamberti [Wed, 13 Nov 2019 09:29:38 +0000 (09:29 +0000)]
Only enable mixed precision FP16 pooling for Android Q
Change-Id: Ic2c0ce7a7a99bbc430b7d6da272825540772e01d
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Aron Virginas-Tar [Thu, 14 Nov 2019 16:21:38 +0000 (16:21 +0000)]
Fix redundancy in call to configure() in ACL DepthwiseConvolution workloads
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I8f698c6ec9826ce1188bc43bd59fbf7b83455c1a
Aron Virginas-Tar [Thu, 14 Nov 2019 12:56:07 +0000 (12:56 +0000)]
Add SpaceToDepth to GetLayerTypeAsCString()
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I263c78e02238fa7c7f9ab6408fb197664e5fe048
Derek Lamberti [Wed, 13 Nov 2019 10:36:08 +0000 (10:36 +0000)]
CL & Neon workload factories inherit from WorkloadFactoryBase
Change-Id: I1f694be7ef1d333b5ef9b60ea7029454ade02628
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Rob Hughes [Wed, 13 Nov 2019 11:41:36 +0000 (11:41 +0000)]
Fix link error due to pthread being linked in the wrong order
Change-Id: I9602c758fe462b65d67de491d91fb2392b09b8bd
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
Rob Hughes [Wed, 13 Nov 2019 11:53:48 +0000 (11:53 +0000)]
Fix a few compile errors:
* Replace use of non-standard integral types (e.g. u_char)
* Convert boost::filesystem::paths to std::strings using the .string()
method rather than .c_str(), because on Windows .c_str() returns a wide
character string, which is not convertible to a std::string.
Change-Id: Ia86b0653697033bb1afa01e64b5b2103dd042ffd
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
Francis Murtagh [Wed, 13 Nov 2019 16:58:20 +0000 (16:58 +0000)]
IVGCVSW-3697 Add utility function to get ArgMinMaxFunction as string
* Allow logging of ConvertArgMinMax calls with specified Min/Max function
which take place in HalPolicy
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: Ic8c38106725023c864f7950dc9d0e2737485cfef
James Conroy [Wed, 13 Nov 2019 15:35:59 +0000 (15:35 +0000)]
IVGCVSW-4053 Enable ArgMinMax EndToEndTest for NEON/CL
* Enabled for Float32 only, as per support in ACL.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I251fc832e3058d389ee9bef96856baff89ba6f9a
Francis Murtagh [Wed, 13 Nov 2019 15:21:09 +0000 (15:21 +0000)]
IVGCVSW-4128 Add Signed32 to supported input types for Ref ArgMinMax
* Enabled RefLayerTests for Signed32
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: Idbe6fb7607c7e44a8df560b55f28c64a4c4286cd
James Conroy [Thu, 19 Sep 2019 16:00:31 +0000 (17:00 +0100)]
IVGCVSW-3695 Add CL ArgMinMax workload
* Also enabled copy to/from CL for Signed32.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I0113182891f9767de73f04dcd81252c84c996eda
James Conroy [Fri, 1 Nov 2019 15:21:48 +0000 (15:21 +0000)]
IVGCVSW-4051 Update ACL pin to
94e0cf960ea6116eb57fa88d9b951f859b52c602
* Add is_initalised() check to CLScheduler in
ClContextControl.
* Now use CLDepthwiseConvolutionLayer instead of
CLDepthwiseConvolutionLayer3x3.
* Now use NEDepthwiseConvolutionLayer instead of
NEDepthwiseConvolutionLayerOptimized.
!android-nn-driver:2212
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I509af65315a4322dc820a5cc1bbd36ed6999b4a7
Teresa Charlin [Mon, 11 Nov 2019 12:28:15 +0000 (12:28 +0000)]
IVGCVSW-4079 Add support of per-axis quantization to DepthwiseConvolution2d
!android-nn-driver:2260
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Iad93c1940568ffa65ed314c8871ea66caf4f9e4a
Jan Eilers [Wed, 6 Nov 2019 10:02:16 +0000 (10:02 +0000)]
IVGCVSW-4069 Add ProfilingGuid to Network
Added ProfilingGuid to
* INetwork,
* Network,
* IOptimizedNetwork and
* OptimizedNetwork
!android-nn-driver:2234
!armnn:2250
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I235116992cc47b4f385b7eb9da514c6350ca00f4
Aron Virginas-Tar [Mon, 11 Nov 2019 12:54:47 +0000 (12:54 +0000)]
IVGCVSW-3839 Add support of per-axis quantization to reference TransposeConvolution2d
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ie0dc1204eee925adfb1e59aba3f1137178302184
Francis Murtagh [Mon, 11 Nov 2019 16:53:13 +0000 (16:53 +0000)]
IVGCVSW-4064 ArmNN Master fails due to an error in RefArgMaxAxis2Uint8Test
* Fix input data to allow for loss of precision due to valgrind which
causes incorrect quantization of multiples of 5 with scale of 2.
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I354dcb8117e1ab07771b78d0e4808d9f3f95925b
Aron Virginas-Tar [Thu, 7 Nov 2019 15:19:52 +0000 (15:19 +0000)]
IVGCVSW-4104 Report Conv2d per-axis quantization unsupported on ACL backends
* Teporarily return false from IsConvolution2dSupported() whenever the
weights tensor has per-axis quantization in order to avoid exceptions
being thrown from ACL during attempted execution
* Should be reverted once per-axis quantization support will have been
added to the ACL backends
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ie2e1a7f3f5550a4b43f7f007ee5c86a8760872eb
janeil01 [Thu, 7 Nov 2019 09:47:20 +0000 (09:47 +0000)]
IVGCVSW-4067 Change LayerGuid to use ProfilingGuid
* Refactoring to enable ProfilingGuid
* Add profiling includes to Android.mk
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ieb25e15e3dc302eb42817d824ad8411ac76dcfe8
James Conroy [Thu, 7 Nov 2019 14:37:09 +0000 (14:37 +0000)]
IVGCVSW-4077 Disable NEON memory import
* Temporarily handles cases in CalculateEdgeStrategy
where dstFactory pointer is null when import is
disabled.
* This patch is required for ensuring debug layer
works correctly when executing a model on Neon.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I7304723246d362d6d9073c3d0b1224e194a8532c
janeil01 [Fri, 8 Nov 2019 12:03:58 +0000 (12:03 +0000)]
Add profiling includes to Android.mk
Signed-off-by: janeil01 <jan.eilers@arm.com>
Change-Id: I8f95846a461aa77c8cff4311f92368a419bbb28d
Mike Kelly [Fri, 8 Nov 2019 12:08:35 +0000 (12:08 +0000)]
IVGCVSW-4108 Fixed invalid data type exception
* Added support for QuantizedSymm8PerAxis to ArmComputeTensorUtils.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Ib8662f216bc4b6b54e0099780f73bcf6ef05384b
Finn Williams [Wed, 6 Nov 2019 16:54:53 +0000 (16:54 +0000)]
MLCE-144 Fix cts MAX_POOL_2D_V1_0 tests
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I2da66efca40bc21d417efc42a225877d94e31428
Aron Virginas-Tar [Thu, 7 Nov 2019 18:41:40 +0000 (18:41 +0000)]
IVGCVSW-4107 Fix bug in ProfilingConnectionDumpToFileDecoratorTests
* Replace predefined file name with randomly generated file name to
avoid reading back old dumps
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ia48a9cda4527c585453383a5d758e1831c38604a
janeil01 [Thu, 7 Nov 2019 09:32:28 +0000 (09:32 +0000)]
IVGCVSW-4102 Move ProfilingGuid to public interface
* Moved ProfilingGuid to Types.hpp
* Refactoring to enable ProfilingGuid
Signed-off-by: janeil01 <jan.eilers@arm.com>
Change-Id: Ibf77002d74e484f8a63ffd96aa14303c1f0d38ae
Finn Williams [Tue, 22 Oct 2019 09:30:49 +0000 (10:30 +0100)]
IVGCVSW-3951 Create the timeline decoder
* Added ITimelineDecoder.h C interface
* Added an example implementation of ITimelineDecoder.h
* Added command handlers for the timeline directory and objects
* Added tests for the decoder implementation
* Changed ReadSwTraceMessage to take a const unsigned char*
so it can be used by the directory command handler
* Fixed some bugs in ProfilingUtils.cpp and related tests
Change-Id: If06faf1fe0274a8f022f194a6d3527f5ce5374c6
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Rob Hughes [Wed, 6 Nov 2019 09:36:29 +0000 (09:36 +0000)]
Escape angle brackets in dot file labels
This was a bug that meant invalid dot files were produced due to MemCopy
layers having a name including "->".
Change-Id: If9f5b13d433f6a7328bf0ad8c7ec89cdce2462b0
Signed-off-by: Rob Hughes <robert.hughes@arm.com>