aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/test
AgeCommit message (Collapse)Author
2020-04-02IVGCVSW-4455 Add an Activate and Deactivate control packet to the protocolKeith Davis
* Add Activate/Deactivate command handlers * Add IReportStructure, INotifyBackends single function interfaces * Add overrided mechanism to report structure in Runtime.cpp * Add overrided mechanism to notify backends in ProfilingService.cpp * Add optional IReportStructure argument to ProfilingService constructor for use in ActivateTimelineReportingCommandHandler * Refactoring and tidying up indentation * Removal of unused code in ProfilingUtils.cpp and ProfilingService.cpp * Added GatordMock end to end test * Fixed an issue with SendCounterPacket sending duplicate packets * Fixed an issue with DirectoryCaptureCommandHandler handling of Optional Signed-off-by: Keith Davis <keith.davis@arm.com> Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I5ef1b74171459bfc649861dedf99921d22c9e63f
2020-04-01IVGCVSW-4643 Add Convolution2D tests with Bfloat16 input and Float32 outputNarumol Prangnawarat
* Modify SimpleConvolution2dNhwcTestImpl to allow different input and out types * Add unit tests for Conv2D with Bfloat16 input and Float32 output to compare the accuracy with Float32 for small value inputs and big value inputs Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ia59c92a22001b41f2681dafb951203a2223d3367
2020-03-31IVGCVSW-4590 Fix Lstm layers CellToInputWeightsJan Eilers
* CellToInputWeights were not handeled correctly * Changed CellToInputWeights from Cifg to peephole parameter * Modified exiting unit tests * Added unit test to cover new configuration * Added more descriptive error messages Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ied5dc1253d3df1fd1a79b887a58603d0a9c8f396
2020-03-24IVGCVSW-3813 Add Unary Elementwise Operation 'NEG' support to the ↵Sadik Armagan
android-nn-driver * Implemented ClNegWorkload * Implemented NeonNegWorkload * Enabled 'NEG' operator on CL and Neon as well as Ref * Implemented unit tests for 'NEG' operator Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I3d7a892692716636cae6bdf8ddd238e3d1ea064f
2020-03-20IVGCVSW-4549 Add front end for new QLSTM layerJames Conroy
* Added new layer QLstm (Android R HAL 1.3) * Made necessary updates to APIs * Added unit tests * This layer is functionally equivalent to the original unquantized LSTM layer with some additonal quantization features added. Due to this, original LstmParams are used for this layer. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I5b7f2d2fb6e17e81573b41a31bc55f49ae79608f
2020-03-20IVGCVSW-4582 Undefined reference to GetProfilingService causes failure in ↵Sadik Armagan
the Backends CI job * Enable the GetProfilingService() function to BackendProfilingTests and ProfilingTestUtils Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I32e3625db0f465883f2ec27fb7c2fad4e91b6306
2020-03-19IVGCVSW-4516 Add ConvertFp32ToBf16Layer and Ref workload supportNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I9099a4f840fb747336f77d20a0868b64e801a310
2020-03-18IVGCVSW-4446 Add HardSwish EndToEnd testsJan Eilers
* adds convert from armnn HardSwish to Acl HardSwish * adds EndToEnd tests for Ref, Cl and Neon Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: If997dad783ff45d7f061254e7e30bb69d4d4d564
2020-03-18IVGCVSW-4444 Adding Elu end to end testJan Eilers
* implemented activation layer end to end test * adds support for different tolerances in layer tests * added tests for Elu (Ref, Cl, Neon) Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I81e28cfb4456e815bae2fb31f5c345134ff2432f
2020-03-18IVGCVSW-4463 Change ProfilingService to a member of runtime from a singletonSadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I345c39a10a4693a500aa1687d9a5cee76da791c3
2020-03-17IVGCVSW-4515 Add ConvertBf16ToFp32Layer and Ref workload supportNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ida6d7e1d2c9abe0618f8b711bab9d62c011090d6
2020-03-13IVGCVSW-4531 Fix for failing strided slice NNT/VTS tests on Android RDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I7f6932f0d21b5678ab9822b0fc69f589bbbb07e5
2020-03-13IVGCVSW-4512 Add BFloat16 Debug WorkloadNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Id179cb4774a4565e5e905e5fe4c34299178644de
2020-03-13IVGCVSW-4511 Add BFloat16 to RefLayerSupport and unit testsNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ifaae4d5aac468ba927b2c6a4bf31b8c8522aeb2e
2020-03-10MLCE-159 Add QAsymmS8 to ArmnnQuantizerFrancis Murtagh
* Allow per layer quantization from Fp32 to Int8 (QAsymmS8) like TfLite Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I5bbf770aa29d81af3568c15b47d2b2c18e55bb28
2020-03-10IVGCVSW-4482 Remove boost::ignore_unusedJan Eilers
!referencetests:229377 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ia9b360b4a057fe7bbce5b268092627c09a0dba82
2020-03-09MLCE-160 Error loading quantized model containing BatchNorm LayerMike Kelly
* Relaxed restrictions in BatchNormalizationQueueDescriptor::Validate Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I3101971c2101e90144bbbf7b63367cb0ef09573f
2020-03-03Modifying the IBackendProfilingContext interface to return a bool onDavid Monahan
EnableProfiling and adding error checking to the Runtime Invocation Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I65b8bb16c6f1c7d668de31238ce0408a48974997
2020-03-02IVGCVSW-4440 : Add HARD_SWISH Support to Activation in CpuRefColm Donelan
* Add a new Activiation type of HardSwish. * Add CpuRef support and tests. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I68c3840aa45b7a27d5e416a5d50fe8f99f003ce8
2020-03-02IVGCVSW-4375 Add support for TransposeMike Kelly
* Added TransposeLayer * Added CL, Neon and Ref Workloads * Added Transpose utilities * Added Serializer and Deserializer support * Added Quantizer support Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I04c755ba7cb5b1edf72b3c9f3c0314878032e3c7
2020-02-28IVGCVSW-4439: Adding Elu support to ActivationDavid Monahan
* Added CpuRef implementation * Added Unit Tests * Added Quantizer Test * Enabled Tests for Neon and CL backends on fp32 only * Added to Serializer Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Ic23e1797dbc9352b40678c389d7fe2b836b582ea
2020-02-17IVGCVSW-4340 Backend profiling: Add tests for Timeline functionsColm Donelan
* Add tests for the timeline functions that are part of IBackendProfiling: GetSendTimelinePacket & GetProfilingGuidGenerator * Modify MockBackendProfilingService to store a MockBackendProfilingContext shared pointer. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I99fc4b1da019858b9f29409cd59ef8f590c0d3a2
2020-02-14IVGCVSW-4338 Implement the Activation of Counters in backendsFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I4a2465f06e046f78242ff0a246c651638b205498
2020-02-13IVGCVSW-4400 Backend Counter Registry FunctionalityDavid Monahan
* Adding BackendProfilingContext to the MockBackend * Made IBackendProfilingContext pure Virtual * Added UnitTest using MockBackend for testing Backend Counter Registration * Moved Registry of backend counters from Initialize() to AddBackendProfilingContext() * Added m_MaxGlobalCounterId to ProfilingService * Removed automatic registration of MockBack in BackendRegistry() Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Ie1c6c31e56d1ac7079d6116ecad041961014aedc
2020-02-07IVGCVSW-4386 Add ArmNN reference support for QAsymmS8Ryan OShea
* Added Quantization Scheme for QAsymmS8 * Added Unit Tests for QAsymmS8 * Renamed QAsymm8 calls to QAsymmU8 Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com> Change-Id: I897b4e018ba1d808cc3f8c113f2be2dbad49c8db
2020-02-07IVGCVSW-4317 Implement the Profiling Context InitialisationColm Donelan
* Call CreateBackendProfilingContext on each backend from Runtime passing an instance of the BackendProfiling interface. * Modify the signature of CreateBackendProfilingContext to remove const and return a shared_ptr to BackendProfilingContext * Add concrete BackendProfiling class. * Store BackendProfilingContexts in Profiling service. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I975eaa2093ae91fa623835f65f9e5b25eb65117a
2020-02-03IVGCVSW-4399 Create Sample Dynamic backendNarumol Prangnawarat
* Move IWorkload and WorkloadInfo to include/armnn/backends * Add simple sample dynamic backend with addition workload * Add sample example to run dynamic backend * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I0753ce35b8e8a6223a1471388b49246d82438a44
2020-01-29IVGCVSW-4316 First draft of IBackendProfiling and IBackendProfilingContextColm Donelan
* 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
2020-01-28IVGCVSW-4369 Add default offset and scale to IsLayerSupportedTestImplTeresa Charlin
*Fix IsLayerSupportedUint8Cl failure due to scale=0 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I6e5125eccdd495a9c98b434837d1e9ab371a4e8e
2020-01-24IVGCVSW-4370 Deprecate DataType::QuantizedSymm8PerAxisDerek Lamberti
!android-nn-driver:2622 Change-Id: If99d3eff71ff66ba28af1e5af248299fe04511b9 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2020-01-23IVGCVSW-4259 Add frontend and reference workload for UnaryOperationLayerjosh minor
* 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>
2020-01-20Remove inclusion of ArmNN.hpp where it is unnecessary.Matthew Bentham
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com> Change-Id: Idb583f8de4470eefb47c90189cd3c90e74e0440a
2020-01-13Rename quantized data types to remove ambiguity for signed/unsigned payloadsDerek Lamberti
!android-nn-driver:2572 Change-Id: I8fe52ceb09987b3d05c539409510f535165455cc Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2020-01-02IVGCVSW-4246 Clean build of backends with -WextraDerek Lamberti
Change-Id: I9e8d5576b3ec04c871785d5f2f9545bf1136e59b Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-31IVGCVSW-4246 Clean build Layers with -WextraDerek Lamberti
Change-Id: I649cd2304fb0040164763d31a12fc77c6c3bed87 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-17IVGCVSW-4246 Clean build of LayerTests with -WextraDerek Lamberti
Change-Id: If3d98e45a6e2fa8e1afd19a4052334335feacf63 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-10IVGCVSW-4212 Example of standalone dynamic reference backendNarumol Prangnawarat
* 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
2019-12-09IVGCVSW-4211 Add Signed 8 bit Quantisation support into the Reference backendFinn Williams
!android-nn-driver:2435 Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I10ecd4a8937725953396805f33a3562a5384c4d4
2019-12-09IVGCVSW-4227 Add CpuAcc backend support for DetectionPostProcessDerek Lamberti
Change-Id: I318bf92b8d1db593d9c30b9b4412bfecbe65bc12 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-09IVGCVSW-4210 Create a public API for the common backend filesMatteo Martincigh
* 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
2019-11-29IVGCVSW-4209 Create a public API for the ArmNN UtilsMatteo Martincigh
* 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
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-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-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