aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon
AgeCommit message (Collapse)Author
2024-02-28IVGCVSW-8172 Add macOS support to build tool setupTracy Narine
* Updates build rules for platform * Failing unit tests excluded (dynamic backends, profiling) * install-packages.sh generates manual setup information Signed-off-by: Tracy Narine <tracy.narine@arm.com> Change-Id: I2d3d434aa615a8796c0cb94cd5b9c35a5acfd148
2024-02-21IVGCVSW-7854 Remove/rewrite asserts in the backends.Colm Donelan
* Identify usages of ARMNN_ASSERT that should be proper exceptions. * Change ARMNN_ASSERT in Doctests to CHECK. * Verify any remaining assertions are reasonable. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: Ifd1f2a5a4bb60135e8654305035ec70e09c4dc2d
2024-02-09IVGCVSW-7569 GpuFsa Op: Add Reshape OperatorDeclan-ARM
* Add Reshape EndToEnd tests to all backends Signed-off-by: Declan-ARM <decmce01@arm.com> Change-Id: Ic6d07ba8de0cf3271ed0e4c6d604e070ccb968e3
2024-02-08Add and tidy up activation and elementwise binary end to end testsTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I9714c4c57e923ac775dcde2951de07cea35c40ee
2024-02-07IVGCVSW-7623: GpuFsa Op: Add Pool2d operatorTeresa Charlin
* Add Pool2d EndToEnd tests to all backends * Add utility functions for the attributes in a separate file * Remove some unnecessary includes Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I0f82ebbf7b3301c6368462fb4fb4d4d02b246fc6
2024-01-31IVGCVSW-7568 Implement Sub ElementwiseBinary operator GpuFsaJohn Mcloughlin
* Added support for Gpu Sub operator * Added unit tests Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com> Change-Id: I1efaa485772a3716e3781566843bd50bd9bab811
2024-01-30IVGCVSW-7550 GpuFsa Op: Add ElementWiseBinary Operator ADDTracy Narine
* Adding support for Gpu Add operator * Added tests for layer support, end to end and optimization Signed-off-by: Tracy Narine <tracy.narine@arm.com> Change-Id: Ie9328d269c5c0ff60a7e10133b728ac9265033af
2024-01-18Bugfix: Remove implicit sign conversion causing -Werror=sign-conversionFrancis Murtagh
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: If2d5005889b8b0011e4592b46276367798556751
2024-01-02Fix for Resize with align corners = true creates a memory leak when using ↵Teresa Charlin
valgrind * Add end to end unit test to CpuRef, CpuAcc and GpuAcc backends Resolves: IVGCVSW-8193 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I7be226f084ec814ac72c2c9b3c47c07b3baf0aa5
2023-12-20IVGCVSW-7830 Remove Reshape where possibleMike Kelly
* Remove reshape on ClBackend * Remove unnecessary restriction on NeonBackend remove Reshape Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I79940c9f8609d19b79f2fbe55225ffc8f0d90c25
2023-12-05IVGCVSW-8159 Fixed issues building with NDK r26Mike Kelly
* The compiler shipped with NDK r26 has stricter rules around certain warnings and deprecation notices. * Fixed warnings for unqualified call to 'std::move' * Fixed error where the half values weren't being cast to a float when calling 'std::nan' * Removed unnecessary subtensor unit tests for neon Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I4ceb46e55ff5f2a754452e3a43de2188d58bf927
2023-11-10IVGCVSW-7835 Add ReverseV2 CL and Neon WorkloadsTianle Cheng
* Added ReverseV2 to CL and Neon backends * Added Cl and Neon ReverseV2 Layer unit tests Signed-off-by: Tianle Cheng <tianle.cheng@arm.com> Change-Id: I646275c629caf17dac1950b0cd7083f23f87f387
2023-11-08Removing explicit block on non constant bias in NEON CONV2D.Colm Donelan
* Following resolution of COMPMID-6397 we will allow non const bias CONV2D to be validated by ACL. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I31c34f3c44fe96885077b3e266f840e51ecf02ec
2023-10-12Revert "Revert "MLCE-1093 Reshape and concat invalid results""Mike Kelly
This reverts commit 008270f8c1359a7d62c2f881326b4d3f0d8b7b56. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: If8f5151aa349ff3834f03391e813669e5c51ed66
2023-10-09Revert "IVGCVSW-7850 block non const bias on NEON Depthwise conv."Colm Donelan
This reverts commit 47016c0c74fc97cf51f90555a11238332fe9406c. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I40856ccb581bf60c8a72ecac4cfe7375cbf4b286
2023-09-29IVGCVSW-8055 Add support for GELU activation function.Teresa Charlin
* Add support to CpuRef, CpuAcc and GpuAcc * Add support to tflite parser, classic and opaque tflite delegates * Add support to serializer and deserializer * Add Unit tests Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ibc60ef2ef2a051e6d9af6e15d24c46316ec19de4
2023-09-28IVGCVSW-7504 Create a backend specific optimization to fuse ↵Tracy Narine
ADD+MUL+Add+(Activation) in CpuAcc * Adding CpuAcc backend optimization to fuse add+mul+add into one layer * Tests added/enhanced * Also added optional extended parameter to Graph::Print() and throw macros that could be used in place of assert Signed-off-by: Tracy Narine <tracy.narine@arm.com> Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I5f8d094b969a130d8c2c7b4da07426313a9fea76
2023-09-19BugFix: ElementwiseBinary missing from NeonBackend activation fusion ↵Teresa Charlin
optimization Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I384e0613f1dad6a1ebf732dcb17d04a09a369084
2023-08-28IVGCVSW-6964 Remove profiling detail for ConstTensorAsInputs LayersJohn Mcloughlin
* Do not generate duplicate weights and bias in profiling JSON Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com> Change-Id: Ie87d337d69357668736262ca628cf65875df3822
2023-08-28IVGCVSW-7505 Create FusedLayer and NeonFusedWorkload for AddMulAdd Neon kernelTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ic778d35b001474b44fb1e433a6fe276e4ec9f565
2023-08-21IVGCVSW-7964 Fix UnidirectionalSequenceLstmNarumol Prangnawarat
* Fix incorrect batch size and time size * Fix incorrect time major when max time =1 * Fix incorrect permutation * Fix incorrect scratch buffer * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I510fae55528be412a58d020e82bd283852e7800b
2023-08-11Revert "MLCE-1093 Reshape and concat invalid results"Nikhil Raj Arm
This reverts commit 4980e21193f0a14fef084a7f4b4197392f3c0845. Reason for revert: Android Build for v82a failed due to schema not re-generating Change-Id: Ic19cf471b487f321c97ff837d36526512fb12fa4
2023-08-10MLCE-1093 Reshape and concat invalid resultsMike Kelly
!android-nn-driver:10089 * Disabled SubTensors on CL and Neon Backends. * Added Axis to ViewsDescriptor to store the value where ever possible. * Updated Splitter tests to provide all the information needed in the Descriptor. * Updated Serializer and Deserializer to handle axis. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I6a22d4750e04003689495b5e9e3c33deb37162bd
2023-08-10Revert "IVGCVSW-6964 Remove profiling detail for ConstTensorAsInputs Layers"john.mcloughlin
This reverts commit d1f0001e74bb9c264b3172c945558b679332570a. Reason for revert: Dependent Builder patch (https://eu-gerrit-1.euhpc.arm.com/c/ivg-cvarch/builder/+/542457) required cannot be merged yet so causing ExecuteNetwork CI test failure Change-Id: I3c02490f74018778e185bfb1c0943d338ad79143
2023-08-09IVGCVSW-6964 Remove profiling detail for ConstTensorAsInputs LayersJohn Mcloughlin
* Do not generate duplicate weights and bias in profiling JSON Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com> Change-Id: Ia40589a8ace8fdba096d735e0df5bf270b136d78
2023-08-04IVGCVSW-7635 Remove deprecated code due to be removed in 23.08 (WorkloadFactory)Cian McGriskin
* WorkloadFactory.hpp CreateXXXWorkload replaced with CreateWorkload accepting LayerType for ABI stability. * These effect ref neon cl and mock backends * Also removed small deprecation comment in Optimization Views * Fixed ABI Version Issue Signed-off-by: Cian McGriskin <cian.mcgriskin@arm.com> Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: Id37af2f882fc9d12b8c779de6b714013af866028
2023-08-04IVGCVSW-7635 Remove deprecated code due to be removed in 23.08 (ILayerSupport)Francis Murtagh
* ILayerSupport interface - removed unstable virtual functions. * User instead uses IsLayerSupported accepting LayerType enum argument. * Backend developers should implement the ILayerSupport::IsLayerSupported method accepting LayerType as a switch statement with case being LayerType and each case calling their implementation of IsXXXSupported() Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: Iaaead8320bb1b2f1bdab6b5be2e1e69d0eb482d5
2023-08-03IVGCVSW-7635 Remove deprecated code due to be removed in 23.08 (SubgraphView)Francis Murtagh
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I6686ad0a16ef763dbdc771c7ef792ae2890e0ab2
2023-08-02IVGCVSW-7880 Add check for FP16 backend supportRyan OShea
* Check if preferred backends have FP16 support before enable fp16-turbo-mode * Unit tests * Replaced global gpuAccCapabilities with getter method construction * Replaced deprecated function call in SL shim Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: If29b62b330ca8987de8acf6408db11daf25ca0b5
2023-08-01Enable Slice EndToEndTests in all backends and Signed32 in CpuRefRyan OShea
* Enable SliceEndToEnd tests on CpuRef, CpuAcc, GpuAcc * Enable Signed32 support for slice in CpuRefLayerSupport Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: Ie9907c65dcb0eb2f2f346b22541ebfc692a109cb
2023-07-31MLCE-1092 Add Names to WorkloadsMike Kelly
* Added names to Workloads. * Workloads will be given the name of the Layer that created them. * Added new profiling macros to CL Neon and Ref that add the workload name to the event label * Updated workloads to use new macros. * Added missing profiling to Rank Workloads. * Fixed issue where ClConvolution2dWorkload was being reported as Undefined rather than GpuAcc. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I0a55eab6c2f455b73943aca8e99a247c3cb2a906
2023-07-31Update ACL pin to 16b37527906c68885f81a8db35f9d6040d73efecNikhil Raj
* Some header files have been moved from arm_compute/core to arm_compute/function_info in https://review.mlplatform.org/c/ml/ComputeLibrary/+/9979 Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I1a52c9072417da65c3f7a847eac5c167eab983f1
2023-07-28Add datalayout to tensors in NeonStridedSliceWorkloadTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I9464970b0aa363f6ac3e0cb42ccb2bb3c8724ca4
2023-07-27IVGCVSW-2292 Tile Operator Neon ImplementationDavid Monahan
* Added Implementation of the Tile Operator Workload to Neon * Added calls to the existing unittests * Added Documentation Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I0030ffe514215c79f5629d20671254dde9bec452
2023-07-24IVGCVSW-7907 Model cannot use SubtensorsMike Kelly
* On Neon we cannot remove a Reshape if it's connected to a SplitterLayer. * Removed clause 5 in SplitterLayer which could erroneously prevent the use of Subtensors in certain circumstances. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I437eb5d3ede25329a4d11d12c3fb1aec2e76efb6 Signed-off-by: Mike Kelly <mike.kelly@arm.com>
2023-07-21IVGCVSW-7830 Clean upMike Kelly
* Follow up review to clean up whitespace and copyright errors mentioned in https://review.mlplatform.org/c/ml/armnn/+/9885 * Added BinaryElementwiseOperation to .dot files * Refactored ConnectedToSplitterWithMoreThan4Dims function to more generally useful ConnectedToLayerType function Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I0e3d0895888f3a3f0a9758ce30bc031aba50812b
2023-07-20IVGCVSW-7850 block non const bias on NEON Depthwise conv.Colm Donelan
* There's currently a problem with using a non const bias value in NeonDepthwiseConvolution. We will block it for the moment. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: Ifd206cfd25a2305a80f8b0a88e07747e79468d18
2023-07-20IVGCVSW-7849 and IVGCVSW-7825 block non const bias on NEON CONV2D.Colm Donelan
* There's currently a problem with using a non const bias value in NeonConvolution2d. We will block it for the moment. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: Ia020cf48f7d5e0642f7763e82501f06ad89945d8
2023-07-17IVGCVSW-7891 Failure in Nightly testsMike Kelly
* Added check to ensure that Reshapes are not removed on Neon if they are before or after a SplitterLayer and have more than 4 dimensions. * Moved NCHW check to a function to reduce clutter. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I45d97634484e8dc0ca7675c23481caf84eb3fe90
2023-07-14IVGCVSW-7830 Add backend optimizations to remove Reshapes where possibleMike Kelly
* Added optimization to remove reshapes for Neon and Ref Backends by using overridden TensorInfos * Added ability to delete Subgraphs during Optimization * Fixed naming error in NeonEndToEndTests and CLEndToEndTests * Added LayerNameAndTypeCheck for testing. * Fixed error where layers were not marked as altered when removed in CLBackend Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I1ac25cd4ec9821470d961831ae2c8d24882276cc
2023-07-10IVGCVSW-7785 3D tensors in BATCH_TO_SPACE and SPACE_TO_BATCH in CpuAcc & GpuAccTeresa Charlin
* Add Reshape layers before and after to extend support for 3D tensors, as ACL only supports 4D tensors for those layers * Add Unit Tests Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I4431185ce3a3b2f595d2a79bdda7095212d1c52d
2023-06-26Update ACL pin to c952596e70f2fe0073029f053e329a4e930ced8cNikhil Raj
* activationInfo passed in directly to configure() rather than part of matMulInfo Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I546def1c1e1cabaf50629f7d78ae0ba459766ed4
2023-06-19Update ACL pin to 043613fbb199e2c4fdd12c2c9a1785db9b0c45faNikhil Raj
* Break up Utils.h a bit to reduce unused code being included everywhere * Add FullyConnectedLayerInfo.h to ArmComputeUtils.hpp and remove Types.h * Add MatMulInfo.h to Neon and CL BatchMatMulWokloads Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I2fbe90cb40dc59add90735dafe9fef9aab3fbf06
2023-06-14IVGCVSW-7791 Enable dynamic bias in Conv in CpuAcc and GpuAccKevin May
Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I722a9e4f3dba2500c624c6326f74085277e0d631
2023-06-07IVGCVSW-7789 Enable dynamic bias in Depthwise Convolution in CpuAccTeresa Charlin
* Dynamic bias are supported by CpuAcc for this layer * Indentation and const modifiers minor changes Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I3b25f14feea55f746c254a832d97e21a1551ca36
2023-06-07Fix incorrect validation of Unidirectional Sequence LSTM on Cl and NeonNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I54c60fb98b9c560c300572f46d42b13aec7e402e
2023-05-23MLCE-1022 Fix failure on UnidirectionalSequenceLstm OperatorNarumol Prangnawarat
* Fix failure to parse UnidirectionalSequenceLstm Operator on CpuAcc * Fix failure to parse UnidirectionalSequenceLstm Operator on GpuAcc * Fix IsLayerSupported tests when there are multiple otutputs Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ia690f34d3c7fae87bd36c97056a3ff71baa865f6
2023-05-23IVGCVSW-7732 Enable dynamic bias in FullyConnected in CpuAcc and GpuAccTeresa Charlin
* Dynamic bias are supported by ACL for this layer. Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I428bd42a97e0c26c72f9925e3cb209c2fc9a650d
2023-05-18IVGCVSW-7400 POW IVGCVSW-7278 SQUARED_DIFFERENCE to CpuAcc and GpuAccJohn Mcloughlin
* Add POW SQUARED_DIFFERENCE and Unit tests for CpuAcc and GpuAcc Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com> Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ifa78af2a2fda2074586d8e4d9a506b1b13fa5755
2023-05-11Revert "IVGCVSW-7454 Enable dynamic bias in CpuAcc and GpuAcc in Conv2d ↵TeresaARM
DWConv and FC" This reverts commit fecd9ed396705a17805ffc49839bd82ae24c892b. Reason for revert: IVGCVSW-7727 Dynamic bias CTS failing Change-Id: I53f67d60fca0e60a81298f90450ceef26b97c321 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>