aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/NeonLayerSupport.cpp
AgeCommit message (Collapse)Author
2019-07-17IVGCVSW-3297 Add Neon backend support for ResizeNearestNeighbourEllen Norris-Thompson
* Renamed NeonResizeBilinearWorkload.* to NeonResizeWorkload.* and added support for ResizeNearestNeighbour * Added CreateWorkload and LayerTests for Neon backend Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com> Change-Id: I72f5340608a0928f8b32a41d1915ee2c35849f18
2019-07-10IVGCVSW-3337 Add Neon backend support for LSTM layer normalisationJan Eilers
* Update neon lstm workload * Add unit tests * Add isLstmSupported Change-Id: I493c159137f6544b0f2532d16d4fafd7a7e587e5 Signed-off-by: Jan Eilers <jan.eilers@arm.com>
2019-07-09IVGCVSW-3355 Add NeonSpaceToDepthWorkloadEllen Norris-Thompson
* Add Neon backend support for SpaceToDepth * Enabled Neon Unit, CreateWorkload and EndToEnd tests for SpaceToDepth. * Added QSymm16 support to NeonTensorHandle. Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com> Change-Id: Ibbb0bce5ad77dace2bf4c4c111006d2fadf844e8
2019-07-05IVGCVSW-3294 Add Neon backend support for PReLUNikhil Raj
Change-Id: I2f92f7336d3b4188962a9d08b0e7c6372b1c648f Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
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-05-31IVGCVSW-3148 Add Neon backend support for DequantizeNarumol Prangnawarat
* Add NeonDequantizeWorkload * Add IsDequantizeSupported to call validate from ACL function * Add CreateDequantize to NeonWorkloadFactory * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I96a216ef78cc3f6a57aa439a16ae6aafd783ff93
2019-05-31IVGCVSW-3185 Add NeonQuantizeWorkloadSadik Armagan
* Added NeonQuantizeWorkload to ArmNN Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I41f8707dda35c894841eddae2d3b78f088038c8e
2019-05-28IVGCVSW-3119 Rename MergerLayer to ConcatLayerJim Flynn
!android-nn-driver:1210 Change-Id: I940b3b9e421c92bfd55ae996f7bc54ac077f2604 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-23IVGCVSW-2771 Fix SubTensor error in vgg16 ExecuteNetwork NEONNarumol Prangnawarat
* Add check if Sub-tensors cannot be used, call ACL function * Add computation of SplitAxis from SplitterDescriptor * Add NeonSplitterWorkload functions * Modify IsSplitterSupported to call ACL validate function if sub-tensor cannot be used * Also check if quantization parameters match when using sub-tensors * Add more unit tests for Splitter in TfParser and TfLiteParser Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I31e4c7d055117c83c65b598c4125442173242226
2019-05-20IVGCVSW-3117 Rename NeonMergerWorkload to NeonConcatWorkloadJim Flynn
Change-Id: I9a373a31bfabbe0f691d7f9e240ac08e072b2c7d Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-14IVGCVSW-3076 Add ConcatLayer methods to public APIJim Flynn
!android-nn-driver:1120 Change-Id: I5192fa3deb4ea9766d38ad0bf4dfbfa0b4924c41 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-13MLCE-101: Adding dilation support in conv and dconvPablo Tello
Added support for dilation in DepthwiseConvolution2d in the Neon and CL backends. Change-Id: Ie1522b498c07f80d6efcf9dc79e926c8cfa06ca5 Signed-off-by: Pablo Tello <pablo.tello@arm.com>
2019-04-16IVGCVSW-2957 MergerLayer subtensor optimization now backend agnosticDerek Lamberti
+ Update clframework pin + Cl and Neon Merger workloads updated to use MemoryLayout agnostic API + Workloads only use sub-tensor optimization if ALL input tensors are sub-tensors + Refactor LayerSupportCommon code to be a bit more succinct Change-Id: Ib61ad4ccbd767e924dff07e61022e0cda4069828 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-03-11IVGCVSW-2792 Update Neon Mul/Sub workload for latest CL masterConor Kennedy
* Update Neon Subtraction/Multiplication to use BaseWorkload * Add Uint8 tests for Subtraction/Multiplication Change-Id: Ied2aa048924817a4db0025b9bd9e54151667bd74 Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
2019-02-01IVGCVSW-2603 The macros ARMCOMPUTECL_ENABLED and ARMCOMPUTENEON_ENABLEDMatteo Martincigh
no longer work * Added two master variables ARMNN_COMPUTE_CL_ENABLED and ARMNN_COMPUTE_NEON_ENABLED to android-nn-driver/Android.mk to easily control backend support * Setting either of those two new variables then properly sets the corresponding build macro * If a specific backend gets disabled, the corresponding source files will be excluded from the build * Unified the usage of the pre-compile macros !android-nn-driver:613 Change-Id: I582ff73493b70ba9e22ca2e38d875a0f19566c8a Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-01-29IVGCVSW-2447 Add Greater Workload to Neonkevmay01
Change-Id: Ic165061cc61534e7e391a398ea7c2918240e2d3b
2019-01-25MLCE-84 Add Neon Pad support and unit testsÉanna Ó Catháin
Change-Id: I0d949a9f23a61af5013efdd18572b29fae585f2a
2019-01-24IVGCVSW-2503 Refactor RefElementwiseWorkload around Equal and Greaterkevmay01
* Remove Equal and Greater from RefElementwiseWorkload * Create RefComparisonWorkload and add Equal and Greater * Update ElementwiseFunction for different input/output types * Update TfParser to create Equal/Greater with Boolean output * Update relevant tests to check for Boolean comparison Change-Id: I299b7f2121769c960ac0c6139764a5f3c89c9c32
2019-01-23IVGCVSW-2511 Add end to end Gather layer testnarpra01
* Add end to end test for Gather operator * Add Support for int32 to Constant layer for Ref * Add Int32Workload * Add RefConstantWorkload as template for float, uint8, int32 * Remove unused RefBaseConstantWorkload * Remove unused RefConstantFloat32Workload * Remove unused RefConstantUint8Workload * Add support check for int32 in LayerSupport functions Change-Id: Ic970588a49ebe2aafb12be8adef52371feacaa7b
2019-01-23IVGCVSW-1048 RESIZE_BILINEAR NEON operatorSadik Armagan
* Implemented NeonResizeBilinearWorkload * Enable ResizeBilinear Operator unit tests for Neon !android-nn-driver:405 Change-Id: Iec3100ccaf7d246e8eaf683d1f3ec9191df5241e
2019-01-11IVGCVSW-2454 Refactor ArmNN to support pluggable backends from a separateMatteo Martincigh
code base * Made the virtual functions in ILayerSupport.hpp pure * Created a LayerSupportBase class with the default implementation of the interface * Made the backend layer support classes inherit from the base class, instead of directly from the interface * Refactored the profiler and the profiling event classes to use the BackendId instead of the Compute * Implemented a proper MemCopy support method * Changed Compute to BackendId in the profiling API and objects * Removed static references to pluggable backends !android-nn-driver:492 Change-Id: Id6332b5f48c980819e0a09adc818d1effd057296
2019-01-09IVGCVSW-2441 Add Minimum operator support (NEON)Conor Kennedy
Change-Id: I0bc48f118aba419abb659657b83224401fac0715
2019-01-04IVGCVSW-2383: code cleanup, remove unnecessary isSupported implementations,Nina Drozd
default cases are handled by DefaultLayerSupport Change-Id: I31942a5e8515d6fdce9a0adf20906eaabc2b9aa6
2019-01-02MLCE-82 Add Neon Mean support and unit testsMatthew Bentham
Factor out new BuildArmComputeReductionCoordinates function from CL backend into ArmComputeTensorUtils. Update NEON LayerSupport and WorkloadFactory objects Change-Id: Icc975ec699199bffafbdb207323df509d35e1e04
2018-12-31MLCE-80 Remove strong typing from NeonBatchNormalizationMatthew Bentham
Technical debt work towards adding some new Neon workloads Change-Id: I08ab6dd14d0e89d4ebc8a878fb69caa5681012bf
2018-12-20IVGCVSW-2212 Add Neon support for Maximum operatorNattapat Chaimanowong
Change-Id: Iddae3486641d2d195827ae4e0a9dfa3f7ccd65e3
2018-12-19IVGCVSW-2379 Add Greater Ref workload implementationFrancisMurtagh
* Added the Greater operation as an element-wise workload * Added the unit tests Change-Id: Ie00ee30e47a5f5e17a728032eeb11a085d06c8f2
2018-12-18IVGCVSW-2365 Add Reference Equal Workload ImplementationFrancisMurtagh
* Add reference equal workload * Add Reference Workload Unit Test Change-Id: If2848e7dde4248566b99d91726d08143c40ff80d
2018-12-10MLCE-79 NEON QASYMM8 Addition SupportMatthew Bentham
Unit tests not yet added as need Compute Library a84faffd. Change-Id: Ica16df493e8d6a76da9d1f74bf43b8403f9dff62
2018-11-19IVGCVSW-2043 - Merger using ACL for innermost concat axisNikhil Raj
* Add ClMergerWorkload and NeonMergerWorkload to call ACL for innermost concat axis * Modify layer support to call ClMergerWorkloadValidate and NeonMergerWorkloadValidate when concat axis is inner most * Add m_ConcatAxis to MergerDescriptor * Modify MergerQueueDescriptor::Validate to check sub tensor only when using subtensor !android-nn-driver:166 Change-Id: I56676b43964c8d6d726387b41b3cc34a512c0f0a
2018-11-16IVGCVSW-2155 - Always call NEConvolutionLayer in NeonConvolution2dWorkloadnarpra01
* Remove check for preferDirectConvolution * Remove IsNeonDirectConvolutionPreferred * Remove unused tests and functions Change-Id: I3f0868f41403ec5fa740889e7bdcb4415ad77bda
2018-11-12IVGCVSW-2125 : Consolidate backend registries into oneDavid Beck
Change-Id: I56da4780f8f5fcef7ff01d232d5d61bf299364bf
2018-11-05Revert "IVGCVSW-2056 + IVGCVSW-2064 : move ClContextControl to the ClBackend"David Beck
This reverts commit d4dfa684941a21314b70593d01b0fc2167eebad4. Change-Id: Id61ce69215505c3cf5d30ec2a7ec9127fb2554fc
2018-11-02IVGCVSW-1946: Remove armnn/src from the include pathsAron Virginas-Tar
Change-Id: I663a0a0fccb43ee960ec070121a59df9db0bb04e
2018-10-26IVGCVSW-2056 + IVGCVSW-2064 : move ClContextControl to the ClBackendDavid Beck
Change-Id: Ice19d3f763298bc14585267df389e99df846320d
2018-10-22IVGCVSW-2037 : separate registry for layer support intrefacesDavid Beck
* because their lifetime is different from backends Change-Id: I9ba525e7e503b148cde1294933f3954b8bad3d68
2018-10-22IVGCVSW-2012: Remove check for DataType::QuantisedAsymm8 in NeonLayerSupportAron Virginas-Tar
Change-Id: Ifeabb8c6aa02b5209245d863fc0d7aeceb25cb30
2018-10-22IVGCVSW-1951 Remove type templating from NeonDepthwiseConvolutionWorkloadNattapat Chaimanowong
Change-Id: I411d02949524eb802672d83ee281300c34b007c8
2018-10-22IVGCVSW-1951 Remove type templating from NeonConvolution2dWorkloadNattapat Chaimanowong
Change-Id: Id3d8137d60b14e93863ad5b6db752a7f6ef9b7fb
2018-10-22IVGCVSW-2003: Get rid of IsLayerSupportedNeon functions in favor of ↵Aron Virginas-Tar
ILayerSupport interface Change-Id: I03985ff678acf9393680340638a2e1f425b9966f
2018-10-22IVGCVSW-1951 Remove type templating from NeonPooling2dWorkloadNattapat Chaimanowong
Change-Id: I65129a72d7585776797cfe0947a2a0f1f483b72f
2018-10-22IVGCVSW-1951 Remove type templating from NeonActivationWorkloadNattapat Chaimanowong
Change-Id: I564a743b4d90ae5364c5958eed3fbfba97782b80
2018-10-10IVGCVSW-1965: Neon implementation for the ILayerSupport interfacearovir01
Change-Id: I52f4b44cf3959f49d1066ff7f4b3c1f7682894c9
2018-10-10IVGCVSW-1985: Replace std::string* reasonIfNotSupported with ↵arovir01
Optional<std::string&> in IsLayerSupported implementations Change-Id: I2f054f0dcff9bdc86ee90c55b3e94c6b4ae25085
2018-10-10IVGCVSW-1964 : replace optional biases with home-grown OptionalDavid Beck
!android-nn-driver:151788 Change-Id: Ibdc41d09b8df05e7a0360dcb8a060860dfb1bd99
2018-10-10IVGCVSW-1886 - forward layer support for padNina Drozd
Ref returning false for now until implementation complete in 1885 Change-Id: I28cbc584eaa6ce3ad79a531db7155b3f9716f30c
2018-10-10IVGCVSW-1863 Support NHWC for L2NormalizationMatteo Martincigh
* Added L2NormalizationDescriptor struct with m_DataLyaout member * Updated all IsL2NormalizationSupported calls to take a descriptor as an argument * Updated L2NormalizationLayer to take a descriptor as an argument !android-nn-driver:150116 Change-Id: I0459352d19cfd269bc864a70cf73910bf44fdc01
2018-10-10IVGCVSW-1899 : Neon backend folder structureDavid Beck
armnn:149855 Change-Id: I26e8cf83422a65049386a5ebdb6d0001627aefaa