aboutsummaryrefslogtreecommitdiff
path: root/src/backends/cl/ClLayerSupport.cpp
AgeCommit message (Collapse)Author
2022-05-10IVGCVSW-6861 Add GATHERNd CL workloadTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I8ba7e56062c285c672dcaa9d13be319eb4f1fca6
2022-05-06IVGCVSW-6936 Add SQRT support to CLTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ib90bade63cd0437329c690b09cf719a2e2bd06a4
2022-05-05IVGCVSW-6806 Add Unidirectional Sequence Lstm support to NeonMike Kelly
* Corrected TensorInfo order for IsUnidirectionalSequenceLstmSupported * outputStateOut TensorInfo is not optional. * cellStateOut TensorInfo is not optional. * TensorInfo Order matches other QLSTM/LSTM layers. * Added missing parameters to UnidirectionalSequenceLstmOperator for delegate. * Added quantized UnidirectionalSequenceLstm support to Neon !android-nn-driver:7457 Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I26dde1bb96793dd25eb9081ca5ae5f63752288c4
2022-04-13IVGCVSW-6174 Add Cl Pooling3d WorkloadRyan OShea
* Add IsSupported for Pooling3d * Add CreateWorkload case for Pooling3d * Create new ClPooling3dWorkload header and source files * Add Pooling3d workload to ClWorkloads.hpp * Add tests for Pooling3d workload * Add Pooling3d build function to ArmComputeTensorUtils Change-Id: Ia270b0fe809a171ed73af14376de8708b346d500 Signed-off-by: Ryan OShea <ryan.oshea3@arm.com>
2022-03-03Revert "Revert "IVGCVSW-6267 Add support of Unidirectional Sequence Lstm ↵Cathal Corbett
fp32/fp16 to Cl"" This reverts commit 79cef69b1ec58f9ce010461eaaad04c896a4fe15. Reason for revert: 22.05 release. Change-Id: Id2ecbf563e8808694fb8605604e8c3c39c29cec2
2022-02-23Revert "IVGCVSW-6267 Add support of Unidirectional Sequence Lstm fp32/fp16 ↵Cathal Corbett
to Cl" This reverts commit ad9171701e6032b3ddf3573f85780bae30c512c6. Reason for revert: cannot update ACL pin until 22.02 release. !ComputeLibrary:7150 Change-Id: Ic19a3c2fe5d6f7e5568174f18ea73684b269f72d
2022-02-22IVGCVSW-6267 Add support of Unidirectional Sequence Lstm fp32/fp16 to ClCathal Corbett
!ComputeLibrary:7150 Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: I01690e6555978d93c41d09bbe5378683bc925f61
2022-01-19IVGCVSW-6629 Stabilize the ILayerSupport interface with unified strategy.Cathal Corbett
* New Virtual Function Added. * Implemented in Ref Neon CL with switch statement for all layers. * Deprecate original IsXXXLayerSupported functions. * Ensure Npu not broken with change. Change-Id: Icf61b16beec83d6af1cb287e24ab1e98a6138c8c Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
2021-10-27IVGCVSW-6169 Add GpuAcc Conv3d WorkloadTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I8b73dccc14ef71cc083896102e24afb2e56e72e2
2021-10-02IVGCVSW-5985 Remove deprecated codeJan Eilers
* Removes deprecated AddLayer, IsLayerSupported functions * Marks the whole LayerVisitor class as deprecated not just the constructor. This required to wrap all Accept functions in a no deprecate macro because the LayerVisitor is used as a parameter in there * Removes usage of deprecated LayerVisitor and replaces it with ExecuteStrategy. This required a few structural changes in the unit tests * Adds a default implementation for IStrategy called StrategyBase * Changes pyarmnn to use non deprecated constructor for INetworkProperties and adds related unit test * Marks usage of deprecated code in pyarmnn as deprecated. This required to extend INetworkProperties to allow backwards compatibility * Removes deprecated functions from CpuAcc, GpuAcc and Ref backends Note: This patch breaks compatibility with backends that are not updated in this patch !android-nn-driver:6325 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Id13b6f37a74d26eadeda2da1dc92915e725ed5a5
2021-09-28IVGCVSW-3706 Add Channel Shuffle Workload to GpuAcc backendTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ic37fc49a97a5ca570a23bc415d15ee3841534336
2021-06-16IVGCVSW-6088 Add Sin and Log to ElementWiseUnaryTeresa Charlin
* Ref workload * Cl workload * Neon workload * Serializer * Deserializer * Remove boost include from TensorTest.cpp Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I498548169cc77609c55cf3105f1de5a7429772cf
2021-04-22IVGCVSW-5420 'Add CL support for CAST'Sadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I1bbf1f2edf7282cb69b99e22de1b8a2fe6e443c2
2021-04-21IVGCVSW-5909 Fix CTS failure in GpuAcc DIV int32Teresa Charlin
* CLWorkload was only supporting float Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ic57a490f03a055c158edc19e831b153a44e25166
2021-02-09MLCE-347 'REDUCE_MIN, REDUCE_MAX, REDUCE_SUM Support'Sadik Armagan
* Added TfLiteParser support for REDUCE_MIN and REDUCE_MAX operators * Added ACL workloads support for REDUCE_MIN, REDUCE_MAX, and REDUCE_SUM operators * Added TfLite Delegate support for REDUCE_MIN, REDUCE_MAX, and REDUCE_SUM operators Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I8085d59946bfd4ab78a59a61f899031ae53371a8
2020-11-18IVGCVSW-5092 Add CL Logical workloadJames Conroy
* Add CL Logical workloads for NOT, AND and OR. * Enable Layer and IsSupported tests on CL. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I8b7227b2487fdbbb55a4baf6e61f290313947de1
2020-11-13IVGCVSW-5328-5329 Fuse ActivationMike Kelly
* Added Fused Activation Optimization to both CL and Neon backends. * Added Fused Activation support to all the CL and Neon workloads that support it. * Changed ProfilingTest network to be a Convolution layer followed by an Abs layer rather than an Activation layer. * Added IBackendInternal::OptimizeSubgraphView function that can accept a ModelOptions. * Network will now call OptimizeSubgraphView passing in the ModelOptions. Signed-off-by: Keith Davis <keith.davis@arm.com> Signed-off-by: Mike Kelly <mike.kelly@arm.com> Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ib536ac3cbafc7d9b35c139ad9a65b7735262cd9d
2020-09-10IVGCVSW-5156 Introduce ModelOptions to OptimizedNetworkSadik Armagan
* Introduced ModelOptions to IBackendInternal * Introduced ModelOptions to Network * Added FastMathEnabled parameter to Conv2d Validate function in CL and NEON * Added Optimizer tests Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com> Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ib54c1e82cb3d89a52756ed499cf91b6a7fdb2063
2020-07-31IVGCVSW-4712 Fill layer datatype adjustmentsTeresa Charlin
* Input layer to be int32 instead of same type as output * Enable float16 end to end tests * Neon and Cl layer support check for backend Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I6bc889077c8da63eeff66bd45730ce5d8783c419
2020-07-24IVGCVSW-3896 Add CL LOG_SOFTMAX WorkloadTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I6c5704c6c7bcf1dd008061c037c81a712365aa74
2020-07-01IVGCVSW-4903 Connect axis parameter in Gather from android to ACL.Teresa Charlin
!android-nn-driver:3302 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ifbc49acb5272f8a36719bb68676e44817190537d
2020-06-24IVGCVSW-4621 Add CL FILL WorkloadSadik Armagan
* Add CL workload for Fill Operator * Enabled Fill operator tests on CL * CLFill function does not have validate() function yet IsLayerSupported() function return true at the moment * Enabled int32 to tests on backends Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I9f8cc6d1c86f832ba46a8d170572f4cfcde9ab17
2020-06-02IVGCVSW-3844 Add CL GATHER WorkloadTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I3d44c05acb40566cd4149417fca5bfd260f301e1
2020-05-27IVGCVSW-4200 Add CL EXP WorkloadSadik Armagan
IVGCVSW-4203 Add Neon EXP Workload * Added CL EXP operator workload * Added EXP test suite * Enabled EXP tests on ACL and Ref Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I793d31af1b2e3fe86b0bec6d9e5de503c5dab970
2020-05-20IVGCVSW-4450 Add CL Enhanced Quantized LSTM WorkloadRyan OShea
* Adds QLstm CL workload * Added Layer and CreateWorkload tests Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com> Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I32335e528467bfd619edb249d2971705ac2a6163
2020-05-13IVGCVSW-4753 Refactor CL Softmax workload generalizing for different datatypeTeresa Charlin
* Change ComputeSoftmaxAclAxis to work with int and uint axis Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ibbfa9ec7e2f0416e6885673212a767419c871cca
2020-04-27MLCE-190: Neon and CL Constant Workloads do not support newer DataTypesMike Kelly
* Added support for QASYMM8_SIGNED, QSYMM16, QSYMM8 and QSYMM8_PER_CHANNEL to Neon and CL backends * Added unit tests to Neon, CL and Ref backends Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I4c726b6d86b4d75abedd130dcea372d1e82be5c2
2020-03-30IVGCVSW-4603 Support comparison operators in CLTeresa Charlin
* Deprecate ClGreaterWorkload * Add ClComparisonWorkload to encompass all comparison operators Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ida0ed7f59899d75b0fe7de1e7433b1ade018c6f1
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-10IVGCVSW-4482 Remove boost::ignore_unusedJan Eilers
!referencetests:229377 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ia9b360b4a057fe7bbce5b268092627c09a0dba82
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-01-29IVGCVSW-4149 Enable quantisation multiplier > 1 in all convolutionsRyan OShea
Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com> Change-Id: I9652844a868ce8e05c0433c051e7079cf203c422
2020-01-29IVGCVSW-4152 Remove check for QAsymm8 in ArgMinMax CL layer supportRyan OShea
* Added ClLayerTests * Added ClEndToEndTests Signed-off-by: Ryan OShea <ryaosh02@e121865.galway.arm.com> Change-Id: I1512ebae248dee9a0e6a8c4f52ecf99f677a22c6
2020-01-24IVGCVSW-4262 Use ACL Permute and Reshape Validate function in Neon and CLKevin May
!android-nn-driver:2642 Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: Ibabb73c0ae0df2e530a68398f75c76e6b80c0701
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-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-11-28MLCE-115 Remove redundant error checking in CL backendMatthew Bentham
This stuff is handled in CLPerumuteLayer::validate now Change-Id: I552e7c0bbd1557d6b5e217c1e96aaeb2377accbd Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
2019-11-27IVGCVSW-4148 Extend reporting of quant multiplier > 1 as unsupported on ACL ↵Aron Virginas-Tar
to per-axis case Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I66a8360b6d86e95325dee58927dcbe62ccf6ad58
2019-11-27IVGCVSW-3859 Per-channel QSymm8 support of Convolution2d in ClKeith Davis
Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: Ie43f20e6fb2f9b4a1e9e9eb561fcf7b5d6a01806
2019-11-27IVGCVSW-3728 Add CL workload for SliceAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I2ed38744e1e8c839b369be8d44c0cffccfeb370e
2019-11-21IVGCVSW-4148 Report quant multiplier > 1 as unsupported for ACLJames Conroy
* This is a temporary measure that needs to be removed when quantization multiplier > 1.0f support has been added for NEON and CL. * Layers affected: convolution, depthwise convolution, dilated depthwise convolution and transpose convolution. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: Ief1aec2ff0eedf8250f6a8675288e1c343dcfce4
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-15IVGCVSW-4140 Report per-axis quantization as unsupported for ↵Aron Virginas-Tar
DepthwiseConvolution on ACL backends * This is a temporary measure that needs to be removed as soon as the NEON and CL DepthwiseConvolution workloads will have added support for per-axis quantization Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I24eb285230293392a6ed50aece1101e5aed7f90e
2019-11-13IVGCVSW-3695 Add CL ArgMinMax workloadJames Conroy
* Also enabled copy to/from CL for Signed32. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I0113182891f9767de73f04dcd81252c84c996eda
2019-11-11IVGCVSW-4104 Report Conv2d per-axis quantization unsupported on ACL backendsAron Virginas-Tar
* Teporarily return false from IsConvolution2dSupported() whenever the weights tensor has per-axis quantization in order to avoid exceptions being thrown from ACL during attempted execution * Should be reverted once per-axis quantization support will have been added to the ACL backends Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ie2e1a7f3f5550a4b43f7f007ee5c86a8760872eb
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-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-4039 AndroidQ (HAL 1.2) driver support for Fp16Sadik Armagan
* Call ACL Validate function for validating Floor operator on CL backend Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I2206ec86de6eabd18c12d023116d1f4c24487e0d
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