Age | Commit message (Collapse) | Author |
|
!android-nn-driver:2435
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I10ecd4a8937725953396805f33a3562a5384c4d4
|
|
Change-Id: I318bf92b8d1db593d9c30b9b4412bfecbe65bc12
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
* 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
|
|
Change-Id: I0432539197b21e3f430970993276be2b8b99bda6
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
|
|
!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>
|
|
* 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
|
|
*Add the call to ReorderWeightChannelsForAcl for QuantizedSymm8PerAxis weights
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I0d2e4c8328753ad15858130945b4fbb193943dfa
|
|
* 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
|
|
Neon backend
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I6dadb36abc2e71f4d4309dcce6072c4a66384cf9
|
|
This stuff is handled in CLPerumuteLayer::validate now
Change-Id: I552e7c0bbd1557d6b5e217c1e96aaeb2377accbd
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
|
|
to per-axis case
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I66a8360b6d86e95325dee58927dcbe62ccf6ad58
|
|
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: Ie43f20e6fb2f9b4a1e9e9eb561fcf7b5d6a01806
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ib790b24cfde87c92e29615da942c25bf7c98f95e
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I2ed38744e1e8c839b369be8d44c0cffccfeb370e
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: If7d366b2894050c53a651016165f34be1a2ce7a6
|
|
* Enable FP16 mixed precision for Android Q
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I5ddb94b13385e1fec39e4407dffc8e4bc6b8d64a
|
|
* 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
|
|
* 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
|
|
This reverts commit 60538ada2b90704abcf6473144639103d80287a5.
Change-Id: I099e397fe1232e0f470d89a11d220752543e4e4c
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* Fixed numerous CTS/VTS failures related to Quantization
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: If5c20256366e80b6b9bbc46b2a1c410a9b8c48e1
|
|
* Add clipping parameter validation in LstmQueueDescriptor
* Related UnitTest
Signed-off-by: janeil01 <jan.eilers@arm.com>
Change-Id: I86ff81cacc0e1fff5b78a8d6c2dcbf9ff57e2272
|
|
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
|
|
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
|
|
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>
|
|
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>
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ia879f2d84a1b977474ee0dafa976f2aab32bd3ae
|
|
Change-Id: Ic2c0ce7a7a99bbc430b7d6da272825540772e01d
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I8f698c6ec9826ce1188bc43bd59fbf7b83455c1a
|
|
Change-Id: I1f694be7ef1d333b5ef9b60ea7029454ade02628
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
* Enabled for Float32 only, as per support in ACL.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I251fc832e3058d389ee9bef96856baff89ba6f9a
|
|
* Enabled RefLayerTests for Signed32
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: Idbe6fb7607c7e44a8df560b55f28c64a4c4286cd
|
|
* Also enabled copy to/from CL for Signed32.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I0113182891f9767de73f04dcd81252c84c996eda
|
|
* 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
|
|
!android-nn-driver:2260
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Iad93c1940568ffa65ed314c8871ea66caf4f9e4a
|
|
TransposeConvolution2d
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ie0dc1204eee925adfb1e59aba3f1137178302184
|
|
* 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
|
|
* 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
|
|
* Refactoring to enable ProfilingGuid
* Add profiling includes to Android.mk
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ieb25e15e3dc302eb42817d824ad8411ac76dcfe8
|
|
* 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
|
|
* Added support for QuantizedSymm8PerAxis to ArmComputeTensorUtils.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Ib8662f216bc4b6b54e0099780f73bcf6ef05384b
|
|
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I2da66efca40bc21d417efc42a225877d94e31428
|
|
Convolution2d workload
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I0ac08ba4864d48e6f64c4ac645dad8ea850be112
|
|
* Add conversion method to reverse bits in Shrink_Axis_Mask
* Add Unit tests for Neon, CL and Reference backends
* Fix supportedness of constant layer which is causing error
in DeepSpeech Uint8
* Also convert the Begin_Mask and End_Mask
Change-Id: I448b083c3463558e8fb5204923ab554cd43264ba
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
|
|
* Added ScaledInt32PerAxisDecoder implementation
* Added new case for Signed32 in MakeDecoder that returns a
ScaledInt32PerAxisDecoder if the tensor info has multiple
quantization scales
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I8b3c11091644da993044d2a0fe2aba6b06b5af56
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I0bb0e9da306eee3e19dc9967a6c8bb01da998deb
|
|
* Add QuantizedSymm8PerAxis to armnn DataType (types.hpp) and
* Add Quantize and Dequantize template for int8 in TypeUtils to be able to compute QSymm8 of the weight
* Create PerAxisIterator for per-axis quantization
* Create QSymm8PerAxisDecoder
* Create QSymm8PerAxisEncoder
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: Ibcfe0288a197b7ee50b543bdbd77b7edb8a547c2
|
|
* Changed RefDequantizeWorkload to use Encoder/Decoder
* Added related unit tests for Cl, Neon and Ref
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ic2fd4103090dd2127c6859b49305736f7b2dfb05
|