aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon
AgeCommit message (Collapse)Author
2019-08-05IVGCVSW-3599 Create the GetSharedObjects method in DynamicBackendUtilsJan Eilers
* Added GetSharedObjects to DynamicBackendUtils * Goes through the given paths and returns a list of files that match the naming scheme for dynamic backends * Added unit test * Update the cmake file to generate the test files/symlinks Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: Ibfc0bad740b72696714d343eb32a593c2ec1f8c6
2019-08-05IVGCVSW-3541 Get the paths where to load the dynamic backends fromMatteo Martincigh
* Adds GetBackendPaths and IsPathValid to DynamicBackendUtils * Adds related unit tests Change-Id: I94e377d92a88a4b5d48026f6ad5b4d5387d20c21 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-08-05IVGCVSW-3541 Change the makefiles to generate the necessary test filesMatteo Martincigh
for dynamic backends * Added dummy files and directories to use for the dynamic backend unit tests * Created a combination of valid/invalid files, valid/invalid directories and valid/invalid symlinks to cover all the use cases * Provides a base on top of which to rebase further changes for the developemnt of the dynamic backend feature Change-Id: I6e157d8ba035d7931c9ea20f70ffd5b76d03334e Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-08-05IVGCVSW-3277 Mem export/import suppor for TensorsDerek Lamberti
* Rename MemoryStrategy to EdgeStrategy * Add MemImportLayer * Import memory rather than copy when possible Change-Id: I1d3a9414f2cbe517dc2aae9bbd4fdd92712b38ef Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-08-05IVGCVSW-3342 Add CL backend support for Quantized_LSTM (16bit cell state)Ferran Balaguer
!android-nn-driver:1685 Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com> Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: I17278562f72d4b77e22c3af25bf7199b9150a765
2019-08-02IVGCVSW-3561 Fix the linker issues of the test shared objects inMatteo Martincigh
the Android builds * Changed the test libs from SHARED to MODULE * Added IBackendInternal.cpp to separate the default implementation of OptimizeSubgraphView from the header file * Linked the modules against armnn to get the missing symbols * Renamed the test modules to avoid name clashing in the CI system * Moved the test shared objects to separate folders to keep the filesystem tidy Change-Id: I987c56d2d66bdb86f7b391a83c602d0dadf4c674 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-08-02IVGCVSW-3470 Add Quantized_LSTM testsJames Conroy
* Added Layer and Create Workload tests for the new Quantized LSTM layer. * Tests to be enabled on NEON and CL in their respective patches. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I7e9e9768dd63010ab58367c45fffcff452377cfb
2019-08-01IVGCVSW-3571 Fix VTS Test SkipsMike Kelly
* Fixed FP16 failures on Max, Min, BatchToSpace on Gpu * Fixed Signed32 skips on Maximum and Minimum Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I4bea19af1a0ae4c8950af8c6d5d68622cdd9b674
2019-08-01IVGCVSW-3539 Add CL support and tests for StackMatthew Jackson
* Added CL backend support for Stack * Added unit tests for Stack on the CL backend * Refactored unit tests to support generic data types Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: I38ee3e9d8947ea98a3104c982698001e704d7d89
2019-07-31IVGCVSW-3571 Add Gpu backend to CI tests for Android QSadik Armagan
* Fixed Quantized FP16 failures on GpuAcc Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ia6372da1305c3e826f56ba537e11acf7875c2d74
2019-07-31IVGCVSW-3561 Use absolute path of unit testsMatteo Martincigh
* Using the absolute path of the unit tests executable so that the unit tests can be run from anywhere and the relative path to the test shared objects would still work Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I57401daa162570e9ab1717d28a54a19f421afb0e
2019-07-30IVGCVSW-3561 Test the DynamicBackend classMatteo Martincigh
* Added unit test for valid dynamic backends * Added unit tests for various cases of invalid dynamic backends (invalid handle, malformed backends, incompatible version, etc.) Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I4c3b33702bb0faac2bbebe224f69908639b4fc54
2019-07-30IVGCVSW-3555 Add unit tests for the dynamic backend utility functionsMatteo Martincigh
* Added a test library to exercise the utility functions that handle the shared objects Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: Ic8095febca2a46050831eb42f55a714f3ae3bfe3
2019-07-29IVGCVSW-3556 Create the DynamicBackend classMatteo Martincigh
* Created the new DynamicBackend class with all the necessary getters/utility functions * Created function types to mirror the backend interface functions Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I80a29e6e8a8d0b0655caba63d12cf62e0d8fc832
2019-07-26IVGCVSW-3554 Update workloads to pass Softmax Axis Parameter to BackendsFrancis Murtagh
* Add check in CL and Neon to ensure axis is 1 otherwise return unsupported. * Edit CreateWorkload test and JsonPrinter test to ensure axis of 1. Change-Id: I499b405532e26fefc2dd1c18b6dc6005813b5604 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2019-07-26IVGCVSW-3537 Add support for L2 Normalization with < 4 dimensional tensorsMatthew Jackson
* Fix reference L2 Normalization workload to support < 4 dimensional tensors * Add unit test for L2 Normalization with 2d tensor to Reference, Neon and CL test suites * Fix typo in StackLayer Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: I48a6a1289bcb02955b24f261bc70b467bd1abc23
2019-07-26IVGCVSW-3566 Fix LSTM with normalization and Cifg WorkloadFactoryFerran Balaguer
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com> Change-Id: I586415357d0f0d315c7174ad385167effa66b195
2019-07-25IVGCVSW-3543 Implement the backend versioning algorithmMatteo Martincigh
* Added version structure for backends, with comparisons operators * Added version to IBackendInternal * Added version utility function to DynamicBackendUtils class Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I3697469675c27f79f7cfb296cfa69ec7e06375e5
2019-07-25IVGCVSW-3555 Fix string formatting in DynamicBackendUtilsMatteo Martincigh
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I97d5fe93e1448778fc020fd6fbd5a47a3f5e7235
2019-07-24IVGCVSW-3563 + IVGCVSW-3555 Create new utility functions for dynamic backendsMatteo Martincigh
* Created new DynamicBackendUtils class * Added OpenHandle, CloseHandle, GetEntryPoint and GetDlError methods to it Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I88c683b2c5d37968a9ebdf335be932ae2d9061e5
2019-07-24IVGCVSW-3469 Add front end for Quantized LSTM layerJames Conroy
* Added new layer QuantizedLstm (Android Q) * Made necessary changes to APIs * Added unit tests Change-Id: I3b9f16b0e7e49f51932cf204c87cb7118798123a Signed-off-by: James Conroy <james.conroy@arm.com>
2019-07-23Fix various uses of non-standard C++:Rob Hughes
* Replace u_int32_t with uint32_t * Replace size_t with uint32_t for initializer list of TensorInfo * Replace variable size arrays with std::vector * Replace reference to local variable during its initialisation Change-Id: I298b3995f1525f90a1ab2416d7e270315698fae3
2019-07-23IVGCVSW-3536 Add Axis parameter to reference Softmax implementationFrancis Murtagh
* Add Axis parameter to Softmax Descriptor * Add new reference implementation for Softmax using Axis parameter * Add unit tests to cover each Axis Change-Id: Iafac2275d2212337456f2b1b56b0f76f77fb9543 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2019-07-22IVGCVSW-3368 Add reference support for depthwise multiplier > 3Matthew Jackson
* Remove multiplier check in TfLite parser * Add reference unit test for depthwise multipler of 64, as in DeepSpeaker Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: I787339ab4c4d269333985353d191202d070906ba
2019-07-22IVGCVSW-3311 Refactor Validate() methods in WorkloadData.cppAron Virginas-Tar
* Use ValidateTensorDataTypesMatch() instead of ValidateDataTypes() to check whether two tensors have the same DataType * Use const TensorInfo& aliases for tensor infos checked in multiple places * Use a const std::string& alias for the descriptorName instead of using string literals throughout the code Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ie59db29b74d8b75bf07c5a6944f65f5e186cf8db
2019-07-19IVGCVSW-3479 Add End to End test for PreluNikhil Raj
Change-Id: I041bdf9e721a4384ea3c2be0184787dd1f4ea08e Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
2019-07-19IVGCVSW-3453 Fix VTS quant_output_multiplier_gt_1 test failuresFinnWilliamsArm
* Remove ValidateTensorQuantizationMultiplier * Update CL pin to COMPMID-2336 Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com> Change-Id: Iaece5b564134f7ec91f82cb246bcb10ad455999d
2019-07-17IVGCVSW-3419 Add reference workload support for the new Stack layerMatthew Jackson
* Added reference workload for the Stack layer * Added factory methods * Added validation support * Added unit tests Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: Ib14b72c15f53a2a2ca152afc357ce2aa405ccc88
2019-07-15IVGCVSW-3495 Refactor names of convolution2d unit testsJan Eilers
Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Idb1325cba730dbf62b4742e4078220ef97d4b526
2019-07-12IVGCVSW-3296 Add CL backend support for ResizeNearestNeighbourAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I7f4c722141837939fd8904c52e75704a15c8a5e3
2019-07-10IVGCVSW-3468 Add Unit test for Conv2D that combinesTeresa Charlin
strides, dilation and padding Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Iea99a162e1f0c823cd0f8bc0ae2fb5f461778515
2019-07-10IVGCVSW-3418 Add Arm NN front end support for the new Stack layerMatthew Jackson
* Added new StackLayer class * Made necessary changes to Descriptors, ILayerSupport, ILayerVisitor, etc. * Added unit tests Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: Ieb97a928a342ffe1901c6058eb895711c358fd3d
2019-07-09IVGCVSW-3397 Join lstm parameter infos in a struct for isLstmSupportedJan Eilers
!android-nn-driver:1461 Change-Id: I9d8fe7adf13832ed0cbcfe98b2353c2f37011d22 Signed-off-by: Jan Eilers <jan.eilers@arm.com>
2019-07-09IVGCVSW-3399 Add support of QuantisedSymm16 to PadNarumol Prangnawarat
* Add support of QuantisedSymm16 to Pad * Fix custom padding tests * Add unit tests for Pad QuantisedSymm16 Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ieb9a4492760b13fa030a42eb4d38fd9ffd7a8c76
2019-07-09IVGCVSW-3391 Add SpaceToDepth CreateWorkload and EndToEnd testsJames Conroy
* Refactored existing EndToEnd tests, moved tests in reference to backendsCommon. * Enabled EndToEnd tests for CL. * Added new Ref/CL CreateWorkload tests. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I0a5e52961a8aca540d43241a3805d19c9c6ff56c
2019-07-08IVGCVSW-3399 Add support of QuantisedSymm16 to Permute and unit testsNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Id6ab073ae3e0ff5f60c2f4bef975798ce71c9f88
2019-07-08IVGCVSW-3393 Fix Ref Unit test for customizable padding valueTeresa Charlin
Add Neon missing Unit Test for Uint8. Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I9207be8c8cf572ae9cbbf155010bb6dabe0c971c
2019-07-05IVGCVSW-3353 Add CL support and tests for SpaceToDepthJames Conroy
* Added CL backend support for SpaceToDepth. * Enabled unit tests for SpaceToDepth on CL. * Renamed unit tests to make them type-agnostic. * Added QSymm16/S16 support to ClTensorHandle. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I417d82946142ed619c447428bf0b0c4a2116c004
2019-07-03IVGCVSW-3399 Add QSymm16 IsLayerSupportedTest to reference backendNarumol Prangnawarat
* Refactor and add QSymm16 to IsDepthwiseConvolutionSupported * Refactor and add QSymm16 to IsEqualSupported * Refactor and add QSymm16 to IsGreaterSupported * Refactor and add QSymm16 to IsSplitterSupported * Refactor and add QSymm16 to IsStridedSliceSupported * Refactor and add QSymm16 to IsMemCopySupported * Refactor IsFakeQuantizationSupported Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I4f115a5535748fc22df8bc90b24b537fd5dd95b8
2019-07-02IVGCVSW-3382 Deprecate ResizeBilinear and use Resize with Bilinear methodAron Virginas-Tar
!android-nn-driver:1451 Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ieedbce1f6e95891137a250fdd07e2f7e4e1f4828
2019-07-02IVGCVSW-3236 Extend Ref LSTM with layer normalization supportJan Eilers
* Add descriptor values * Update lstm queue descriptor validate function * Update lstm workload * Update isLstmSupported (Cl and Ref), LayerSupportBase, ILayerSupport * Update lstm layer * Add unit tests Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I932175d550facfb342325051eaa7bd2084ebdc18 Signed-off-by: Jan Eilers <jan.eilers@arm.com>
2019-07-02IVGCVSW-3307 Introduce RefTensorHandleMatthew Bentham
Use it for intermediate tensors on reference backend. Lays the groundwork for memory management in the reference backend. Change-Id: I7d3ee132cac31bde70ae6e1b815f4f0b03d550a6 Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
2019-07-01IVGCVSW-3361 Add end-to-end tests for Resize on CpuRefAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ie89dc91a2fc0281d58c6f1ccef65ed1228d33ccb
2019-07-01IVGCVSW-3365 Add reference workload support for ResizeLayerTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Id551690065dca0686ce597d1f0c14fd73163481e
2019-06-28IVGCVSW-3363 Add frontend support for Resize LayerTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I63493ddb7598515773073deb6db2eb3a635c5dfe
2019-06-27IVGCVSW-3324 Add end-to-end tests for TransposeConvolution2d on CpuRefAron Virginas-Tar
* Added one end-to-end test for all supported data types and data layout * Implemented RefLayerSupport::IsTransposeConvolution2dSupported() * Fixed formula used in TransposeConvolution2dLayer::InferOutputShapes() Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: If1ba3c226ecfa17f7fceffae857f39297c6433f2
2019-06-27IVGCVSW-3320 Add reference workload support for TransposeConvolution2dLayerAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Icc64f8148c9d8a0d14d772e6e4e7865e70585cd9
2019-06-26Update the CL pin to the latest masterFerran Balaguer
* Update SoftMaxUint8Workload for CL and NEON to deal with quantization parameters as vectors. * Change Sigmoid Activation function QAsymm8 tests to use scale=1.f/256.f and offset=0 as quatization output parameters. !android-nn-driver:1417 Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com> Change-Id: Ief91f10193fbbbad0c0124ece41f0bf4e0dcd992
2019-06-26IVGCVSW-3347 Add EndToEnd test for BatchToSpaceNdFrancis Murtagh
* Add Simple and complex end to end tests based on tensorflow.org examples Change-Id: Ifa758a48cf5ea09f9be7945859cd37377dbb9465 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2019-06-26IVGCVSW-3249 Extend the BatchToSpace workload to support QSymm16Francis Murtagh
* Add reference supportedness validation checks. * Call unit tests with QSymm16 data type. Change-Id: Ie6621ca7072dfc69278198c53e09b090275a7fff Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>