aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon
AgeCommit message (Collapse)Author
2019-09-16IVGCVSW-3660 Add SQRT unit tests for Neon and CL backendsSadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Iaaff33f578c4d88f6c03c8de4af71d5347178eaa
2019-09-16In CopyTensorContentsGeneric coalesce inner dimensions where possibleMatthew Bentham
This reduces the number of function calls in the inner loop, and allows for optimised implementations of memcpy to improve bandwidth Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: I7458b45c075c87805242e92e54448b9dd762227f
2019-09-16Rename variables in CopyTensorContents to assume NHWCMatthew Bentham
Change-Id: I533991c8829256570529c18023a5e882878cc85a Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
2019-09-12IVGCVSW-3857 Add Reference FP16 workload support to remaining layersMatthew Jackson
* Adds Reference FP16 support and unit tests for layers not already supported !referencetests:202156 Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: I6fc9b9ce2809e163f72e27e877025c8fb85d9fbe
2019-09-11IVGCVSW-3820 Remove backendsCommon/WorkloadDataFwd.hppAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: If54f3a285b288e7ff0b2674829c116df70d6934c
2019-09-11IVGCVSW-3659 Add Float16 CLLayerTests for AbsKevin May
Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I99d8a3d53551ce5c293462d847c22ae4f912331b
2019-09-10IVGCVSW-3824 Implement Float 16 Encoder and DecoderMatthew Jackson
* Implement Float 16 Encoder and Decoder * Add Stack Float 16 layer and create workload tests Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: Ice4678226f4d22c06ebcc6db3052d42ce0c1bd67
2019-09-09IVGCVSW-3743 Add end-to-end test for ABS on CpuRefAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I807a57af6dc2555a5a422388558a02e958ed610d
2019-09-06IVGCVSW-3740 Add Reference Workload support for ABSSadik Armagan
* Implemented RefAbsWorkload and unit tests Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ibfcdb2b37fd8d240c181f96856e2c997a4b88914
2019-09-05IVGCVSW-3722 Add front end support for ArgMinMaxNikhil Raj
Change-Id: I31c5616bea3097f30cde68442d3222e0b0fe2235 Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
2019-09-05IVGCVSW-3739 Add Arm NN front end support for Abs LayerKevin May
* Add Abs Layer * Add no-op factory implementations for CpuRef, CpuAcc, GpuAcc * Add Queue Descriptor in WorkloadData * Add IsAbsLayerSupported to LayerSupport * Add LayerVisitor tests Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: Ib0992571d1c80de851cea466291be904e9bdb430
2019-09-04IVGCVBENCH-1337 Added additional layer parameters to dot file and -v optionAndre Ghattas
* Generic layer parameters now show up in dot file * Convolution layer parameters have also been added to dot file * ExecucteNetwork has an additional -v flag which generated dot file if there Change-Id: I210bb19b45384eb3639b7e488c7a89049fa6f18d Signed-off-by: Andre Ghattas <andre.ghattas@arm.com> Signed-off-by: Szilard Papp <szilard.papp@arm.com>
2019-08-30IVGCVSW-3381 Break up LayerTests.hpp into more manageable filesAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Icf39434f09fd340ad664cb3b97b8bee6d9da4838
2019-08-29IVGCVSW-3656 Fix wrong rename of the reference backend control macroMatteo Martincigh
* Renamed ARMNN_COMPUTE_REF_ENABLED to ARMNN_REF_ENABLED in the Android makefiles Change-Id: I12af2ca00c719568274585482d428b035674737c Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-08-27IVGCVSW-2325 Reduce duplication in LayerTests by reusing the ↵Aron Virginas-Tar
ElementwiseTestHelper * Refactored tests for element-wise operations to use ElementwiseTestHelper * Moved the etasts for each operation in a separate file under backendsCommon/test/layerTests Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Icefb6b35df78b9619f69378229789505bf92670e
2019-08-27IVGCVSW-3656 Rename ARMCOMPUTEREF to ARMNNREFMatteo Martincigh
* Renamed ARMCOMPUTEREF to ARMNNREF (and relative symbols) as the previous name was misleading !android-nn-driver:1819 Change-Id: I912e9f521750b91539e48f8a2fb4de73fb6f7425 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-08-27IVGCVSW-3605 Add direct compatibility between Cl and Neon backendsJan Eilers
* Adds compatibility between Cl and Neon * Adds related unit test Signed-off-by: Jan Eilers <jan.eilers@arm.com> Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Iaa454ea2a6392c89c0a83836c3156d4ddb354879
2019-08-26IVGCVSW-3575 Fix DepthwiseConvolution VTS Test FailuresKevin May
Failing VTS tests were "NeuralnetworksHidlTest.depthwise_conv2d_*" In depthwise convolution there was a difference in weight tensor channel order between the reference and ACL implementations. This specifically related to NCHW. This commit: * Adds ReorderWeightChannelsForAcl to WorkloadUtils which will correct the weight tensor channel order. * Add unit tests to detect this problem. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: Icaeac08e14b3d5da9e222ad2f118db55ebb15d09
2019-08-26IVGCVSW-3175 Add Regression Tests for Zero CopyFerran Balaguer
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com> Change-Id: I6f16ea0dca359283a3b187e2f046f82a7dc2ff7c
2019-08-23Fix Windows build:Rob Hughes
* CMake "install" commands require a RUNTIME argument for platforms with DLLs (e.g. Windows). * Replace use of non-standard variable length array with vector * Remove unnecessary #include of unistd.h * Add #ifdefs to dynamic backend code to disable for non-Unix platforms where you can't use dlopen etc. We could implement this properly for Windows later using LoadLibrary etc., but for now erroring is fine. * Add missing #include of <algorithm> Change-Id: Ic8ef5fd599b37bf8772510157b6e479819f6a1eb
2019-08-22IVGCVSW-3656 Make the reference backend optionalMatteo Martincigh
* Made the build of the reference backend depend on a new ARMCOMPUTEREF macro * Made the relevant targets dependent on the ref backend * Moved Cl and Neon static registry initializers to separate files * Wrapped some of the unit tests into proper ifdefs where necessary Change-Id: I7f2c42699682630233a4c4b6aed2f005083de189 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-08-22IVGCVSW-3671 Fix validation error msg WorkloadData.cppJames Conroy
Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: Ibfd5a81b2dbf9eeef49f6209885798804adee5a4
2019-08-20IVGCVSW-3606 Support memory import for Reference backendFerran Balaguer
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com> Change-Id: I94bd191f88e0911ad4e4727610e81cd7afa95512
2019-08-20IVGCVSW-3640 Add multi-channel TransposeConvolution2d unit tests to CL backendAron Virginas-Tar
* Fixed bug in multi-channel test and reference workload implementation * Enabled multi-channel tests on CL backend Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I08bb523bc68d9c93a1012b4f487a5bce36a085b1
2019-08-19IVGCVSW-3545 Update the device specs with the dynamic backend idsMatteo Martincigh
* Now the utility function RegisterDynamicBackends returns a list of the backend ids that have been registered * The list of registered ids is added to the list of supported backends in the Runtime * Added unit tests Change-Id: I97bbe1f680920358f5baba5a4666e4983b849cac Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-08-19IVGCVSW-3653 Fix memory initialization bug in TransposeConvolution2dTestImplAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Idebe0c3f956ccac39ef8bf139d693b76e839af7a
2019-08-16IVGCVSW-3639 Add 5d tensor supportMatthew Jackson
* Increased MaxNumOfTensorDimensions and fixed issues related to its use * Fixed issues caused by assuming 5d tensors are invalid * Updated ArmComputeTensorUtils for 5d tensors * Added 5d tensor unit tests for add, mul, stack and reshape (needed by IVGCVSW-3527) Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: I5bcd64942d0d04efcc6c5acb240ad4b88e010743
2019-08-14IVGCVSW-3622 Add Neon TensorHandleFactoryNarumol Prangnawarat
Signed-off-by: James Conroy <james.conroy@arm.com> Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I9f24f7d97c1e7d37ee7d58ff85c6c3f8496e52ec
2019-08-14IVGCVSW-3636 Fix Graph and WorkloaData to support backend Import functionalityFerran Balaguer
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com> Change-Id: I634aa3b1d609ca33b196fd68ce7fb7881be73e6e
2019-08-13IVGCVSW-3616 Add multi-channel unit test for TransposeConvolution2dAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ib9271920b39fb9d730006c79a322e32008096b56
2019-08-13IVGCVSW-3607 Add CreateWorkloadFactory with TensorHandleFactoryRegistryNarumol Prangnawarat
in IBackendInternal Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Id40b825649d0447058273b8bc4f7133a3ac3c96c
2019-08-12IVGCVSW-3541 Treat an empty list of backend paths as a special caseMatteo Martincigh
* Silently considering the dynamic backend loading feature as disabled if an empty list of paths is passed to ArmNN * This was causing problems during testing as ArmNN's output was containing extra unnecessary warning messages Change-Id: I4ebda412004179817cd54494ccddc964b04b8232 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-08-12IVGCVSW-3546 Create a reference dynamic backend to use for testing and asMatteo Martincigh
an example in the docs * Wrapped the reference backend into a dynamic backend * Moved the static registration code to a separate file, so that it is possible to create the reference dynamic backend that does not register statically into armnn * Added unit test Change-Id: I1074d21b020820f9ac8c7178388be773b447555a Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-08-09IVGCVSW-3474 Add end to end tests for Quantized_LSTMFrancis Murtagh
Change-Id: Iaec6956b5c459308d77d29f699ae4558bee66cd5 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2019-08-09IVGCVSW-3603 *Json printer prints full profiling hierarchyDerek Lamberti
Change-Id: Ide5acbf993c2bcff5265b72fc979caa6f183bb22 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-08-09IVGCVSW-3597 Add complete test suite for the dynamic backendsMatteo Martincigh
* Added Runtime tests with dynamic backends * All other unit tests have already implemented in previous stories Change-Id: I0167b3b45dd00c1956514e2df051e4445727f014 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-08-09IVGCVSW-3596 Register the dynamic backends in the BackendRegistryMatteo Martincigh
* Added getter for the factory function in the DynamicBackend class * Added new RegisterDynamicBackends method in utils class * Added dynamic backend registration process in the Runtime class * Added new dummy dynamic backend objects for testing * Added unit tests for dynamic backend registration * Added convenience methods to BackendId Change-Id: I01e147d1d6f01bf56747ad946f73f867af5770c4 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-08-07IVGCVSW-3595 Implement the LoadDynamicBackends function in the Runtime classMatteo Martincigh
* Changed the way the handle is acquired, loaded symbols are now kept local * Updated the makefiles to add more test files for the dynamic backends * Fixed the GetSharedObjects method so that the files are parsed in alphabetical order * Updated the unit tests to make them more strict wrt the order of the files * Created a new CreateDynamicBackends method in the utils class * Added new unit tests for the new function * Added LoadDynamicBackends in the Runtime class !android-nn-driver:1707 Change-Id: I1ef9ff3d5455ca6a7fd51cb7cfb3819686234f70 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
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