aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon
AgeCommit message (Collapse)Author
2019-11-20IVGCVSW-4151 HAL 1_2 Dequantize FP32 Per Channel Tests on CpuAcc FailingSadik Armagan
* 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
2019-11-19IVGCVSW-3697 Add check for ArgMinMax QAsymm8 to ClLayerSupportFrancis Murtagh
* 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
2019-11-19IVGCVSW-4068 Add Guid to WorkloadNarumol Prangnawarat
* 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
2019-11-15IVGCVSW-3486 Add clipping parameter validation in LstmQueueDescriptorjaneil01
* Add clipping parameter validation in LstmQueueDescriptor * Related UnitTest Signed-off-by: janeil01 <jan.eilers@arm.com> Change-Id: I86ff81cacc0e1fff5b78a8d6c2dcbf9ff57e2272
2019-11-15IVGCVSW-4119 Fix FP16 to FP32 fallback mechanism in optimizer to work with ↵Aron Virginas-Tar
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
2019-11-15NNXSW-1853 Change SubgraphViewSelector algorithmRob Hughes
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>
2019-11-14CL & Neon workload factories inherit from WorkloadFactoryBaseDerek Lamberti
Change-Id: I1f694be7ef1d333b5ef9b60ea7029454ade02628 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-11-13IVGCVSW-4128 Add Signed32 to supported input types for Ref ArgMinMaxFrancis Murtagh
* Enabled RefLayerTests for Signed32 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: Idbe6fb7607c7e44a8df560b55f28c64a4c4286cd
2019-11-12IVGCVSW-4051 Update ACL pin to 94e0cf960ea6116eb57fa88d9b951f859b52c602James Conroy
* 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
2019-11-12IVGCVSW-4079 Add support of per-axis quantization to DepthwiseConvolution2dTeresa Charlin
!android-nn-driver:2260 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Iad93c1940568ffa65ed314c8871ea66caf4f9e4a
2019-11-12IVGCVSW-3839 Add support of per-axis quantization to reference ↵Aron Virginas-Tar
TransposeConvolution2d Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ie0dc1204eee925adfb1e59aba3f1137178302184
2019-11-11IVGCVSW-4064 ArmNN Master fails due to an error in RefArgMaxAxis2Uint8TestFrancis Murtagh
* 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
2019-11-08IVGCVSW-4067 Change LayerGuid to use ProfilingGuidjaneil01
* Refactoring to enable ProfilingGuid * Add profiling includes to Android.mk Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ieb25e15e3dc302eb42817d824ad8411ac76dcfe8
2019-11-08MLCE-144 Fix cts MAX_POOL_2D_V1_0 testsFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I2da66efca40bc21d417efc42a225877d94e31428
2019-11-06IVGCVSW-3837 Add support for per-axis quantization to reference ↵Aron Virginas-Tar
Convolution2d workload Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I0ac08ba4864d48e6f64c4ac645dad8ea850be112
2019-11-06IVGCVSW-4038 Convert Strided_Slice Shrink_Axis_Mask Parameter to ACL formatFrancis Murtagh
* 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>
2019-11-04Add fp16 support for dequantizeJan Eilers
* 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
2019-11-01IVGCVSW-3698 Add EndToEnd Layer test for ArgMinMaxNarumol Prangnawarat
* Add EndToEnd test implementation for ArgMinMax * Add EndToEnd tests for Ref * Fix output data type of ArgMinMax in WorkloadFactory Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I6d07d25bb96ab21422584284046222257ddee43c
2019-11-01Increase tolerance for bias scale quantization calculation for ResNet50v2ricbur01
Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I033ef445fa8e5ae825cfde29927b88e97e20f093
2019-10-31GitHub #292 Move BackendRegistry.hpp to the public APIMatteo Martincigh
* Moved to BackendRegistry.hpp include/armnn * Updated makefiles and sources accordingly Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I4d83abb581d523218a880c879fcf30c9611f7fd7
2019-10-31IVGCVSW-3842 Add per-axis quantization support to ↵Aron Virginas-Tar
ValidateBiasTensorQuantization() * Altered the function to validate all the scale values in the bias tensor info when per-axis quantization is enabled * Added unit test to check if ValidateBiasTensorQuantization() works as intended Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I676d17690cda6bbdd41da5fdbaa50a3d3b5fd102
2019-10-29Refactor Resize layer testsAron Virginas-Tar
* Move implementations to newly created source file ResizeTestImpl.cpp, leave only the declarations in the header * Reduce code duplication by extracting common code into a generic implementation template Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ib8aa395e5fb4470b26cbe943c177f6b64c860a93
2019-10-25IVGCVSW-4018 Move QuantizeHelper.hpp to armnnUtilsAron Virginas-Tar
* Moved QuntizeHelper.hpp to armnnUtils * Reordered parameters for QuantizedVector and added default values for qScale and qOffset to make life easier when using the function for non-quantized types such as Float16 Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I28c263dfa425f1316feccb4116839a84f5d568e5
2019-10-25IVGCVSW-3962 Return 0 for Neon GetExportFlags()James Conroy
* Fixes issue where MemImport workload was being inserted into a graph when changing from a NEON to Ref workload. A MemCopy will now be performed instead. * Improves existing ImportAlignedPointerTest by adding check for expected output. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I606dbbe0166731c62fbe4cc1966c558ade66d6bb
2019-10-22IVGCVSW-4009 Enable IsLayerSupported tests againDerek Lamberti
Change-Id: Ie4e32246783c5e6df6421eef77bbc0ac86381259 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-10-21IVGCVSW-3999 Add unit tests for new comparison operationsAron Virginas-Tar
* Refactored existing tests for Equal and Greater and moved them to ComparisonTestImpl.cpp * Removed EqualTestImpl.cpp and GreaterTestImpl.cpp * Added new unit tests for GreaterOrEqual, Less, LessOrEqual and NotEqual Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I25013200beb1acb88e83b813c5382cb277c74cd7
2019-10-21IVGCVSW-4009 Get string name for StandInLayer typeDerek Lamberti
Change-Id: I6808937bd35a2419814d04016b780efa6bb8724c Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-10-21IVGCVSW-4009 StandInLayer frontend APIDerek Lamberti
Change-Id: I058c57b554769799c6775813215070ef47790e3d Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-10-21IVGCVSW-3993 Add frontend and reference workload for ComparisonLayerAron Virginas-Tar
* Added frontend for ComparisonLayer * Added RefComparisonWorkload * Deprecated and removed Equal and Greater layers and workloads * Updated tests to ensure backward compatibility Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Id50c880be1b567c531efff919c0c366d0a71cbe9
2019-10-16IVGCVSW-3895 Add EndToEndLayerTest for the Reference Implementation of ↵Sadik Armagan
LOG_SOFTMAX Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I500f0b819be543dc5829990d363e5d911197c9ec
2019-10-15IVGCVSW-3892 Add EndToEnd Layer test for INSTANCE_NORMALIZATIONSadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ia646446d52a7b597c3021f1e235465a96ce2beed
2019-10-15IVGCVSW-3975 Add reference workload for LOG_SOFTMAXAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I10bb7133e0e2d6d7199abdf39562b1226bbbd3e7
2019-10-11IVGCVSW-3973 Add frontend for LOG_SOFTMAXAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ic6acc7176deea3753b32ce6340f642d19dce0e9f
2019-10-10IVGCVSW-3944 Add ArgMinMax output shape validationJames Conroy
Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I469895da158b062cd19248832525fa21527f7d41
2019-10-09IVGCVSW-3889 Add CL workload for INSTANCE_NORMALIZATIONAron Virginas-Tar
!android-nn-driver:2039 Signed-off-by: Kevin May <kevin.may@arm.com> Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I621dd80920b58b8b795ed13917b88850519c8177
2019-10-04IVGCVSW-3925 Add Backward compatibility for ITensorHandle CreateTensorHandle ↵David Monahan
functions Change-Id: I940b7ca706c9a8bc38743176eb7959aa629a6876 Signed-off-by: David Monahan <david.monahan@arm.com>
2019-10-03IVGCVSW-3932 Add frontend for INSTANCE_NORMALIZATIONKevin May
Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: Ib152148ccd8d2733c617d0cf9402661fc6b71316
2019-10-03IVGCVSW-3696 Add NEON ArgMinMax workload and testsJames Conroy
* Added layer tests and fixed WorkloadData validate. * Also enabled copy to/from NEON for Signed32. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I5e961f88434e18d5a8ebff956d20a1c2cf1b50bb
2019-10-02IVGCVSW-3738 Add end-to-end layer test for DepthToSpaceAron Virginas-Tar
* Added end-to-end layer test implementation for DepthToSpace * Added test to reference, CL and NEON backends for all supported data types and data layouts * Extracted common data permutation code into new utility file and refactored some existing tests to reduce code duplication * Fixed EndToEndLayerTestImpl template to work with Float16 data Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Iaf7a0012c520451052b20c37e36dc05fa8314ff6
2019-09-27IVGCVSW-3689 Support Import of Output Tensors for the Neon BackendFerran Balaguer
Change-Id: I6323c5f68248b54b3ed3b4cb92f1e8bf9c279b8d Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
2019-09-24IVGCVSW-3885 Add reference workload for DepthToSpaceAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Id937dc4425884ad1985dcdfaae8bf3fb64f0c766
2019-09-24IVGCVSW-3623 Implement NeonTensorHandle::ImportDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I7213788725fd4e4cf1176998604e999d0b7ed6cc
2019-09-23Replace uses of non-standard C++:Rob Hughes
* 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>
2019-09-20Fix some minor issues around SpaceToDepthAron Virginas-Tar
* 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
2019-09-20IVGCVSW-3883 Add frontend for DepthToSpace layerAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I18d957af6e988ffb6b9ee46ac836d1f38600e10b
2019-09-19IVGCVSW-3723 Adding reference workload support for ArgMinMaxNikhil Raj
Change-Id: I65209ecec4e3abf808163239748d6e830568c2e3 Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
2019-09-18IVGCVSW-3878 Add reference workload for SLICEAron Virginas-Tar
* 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
2019-09-17IVGCVSW-3875 Add frontend for SLICE layerAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Iebe675a0cee02db6f133d48ce58cbc1e233061db
2019-09-16IVGCVSW-3687 Add INetworkProperties to LoadNetworkDavid Monahan
* Allows users to specify if Import/Export should be used Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I64da26a6acbeb91ef72d31b6ccc01bb1447f624d
2019-09-16IVGCVSW-3868 Add support of Int32 to Reshape layerNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I1bf116c462fe3428be31b6dbcd09b25c3a90727f