aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon
AgeCommit message (Collapse)Author
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-11-12Update ACL pin to d7341fb9e3b24b904edf7ac9d83e1e063bc77765Teresa Charlin
* Use NEConvolutionLayer Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ieb81fafaf34a63be8daf297ebe1bb0e4079daf4e
2020-10-30IVGCVSW-5322 Fix segfault between Neon and Cl layersNarumol Prangnawarat
* Fallback to memory copy if memory import is not supported * Remove direct compatibility between Neon and Cl Tensors * Unit tests fallback from Neon to Cl and Cl to Neon Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Iec00a77423fb23b37a6b1aefee1b2ec4d649efca
2020-10-14IVGCVSW-5335 Added Documentation for fast_mathMike Kelly
* Added Documentation for fast_math to CLBackendModelContext * Added Documentation for fast_math to NeonBackendModelContext Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I43a0568ae6914e074a80130a051e5d9bb849f2ba
2020-10-13IVGCVSW-4489 Remove remaining occurrence of boost::formatMatthew Sloyan
* Replaced with fmt::format in Descriptors.cpp. * Removed remaining boost/format headers in ArmNN codebase. * Removed additional boost header in Network.cpp Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ib98b83bf4ec99ef98ce7a3635ec0dd478c3e43e1
2020-10-08Remove Resize from list of layers that need padding in NeonTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I054f0b71d4e9581c637fa09e40f6b661e58e39f3
2020-10-05Update ACL pin to fc2f6d0427e1d886fcccc68867d1af1ccd96608bTeresa Charlin
* Set use_padding to false in neon workload Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ia5367de331efe1d28dea4dfbefc0713720da81f9
2020-10-02IVGCVSW-5334 Remove remaining boost::numeric_cast from armnnMatthew Sloyan
* Floating point casts now use armnn::numeric_cast. * Also removed remaining header imports. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I2d37847d67f164fc0a0ae17f34d49ff3d2210c30
2020-10-01COMPMID-3784 Fix 1 CTS MUL INT32 failure due to using SATURATETeresa Charlin
* LargeGraph_TENSOR_INT32_Rank4/26 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I9d07444db56e26c13a77bf022938644ed7953d6b
2020-09-30Refactored Optimize(...) function to throw exceptions instead of returning nullMike Kelly
* INetwork::Optimize(...) states that the function should throw an exception if it fails but the implementation in Network.cpp returned null in some scenarios instead. This has led to some confusion amongst users. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I358d1293232c9464772aa0e39ab3355e3570c823
2020-09-25Update ACL pin to 840a72cc745c60eccbd26fe192b035ec68b2ee41Nikhil Raj
* Change tensor to non const to fix build error caused by ACL fix for QLSTM Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I7ab0f644dfb3cb3cf21bda73028e9368f3354f4a
2020-09-22IVGCVSW-5318 'Create a Neon/CL Workload Unit Test fast_math option enabled'Sadik Armagan
* Unit test implemented to make sure it returns WINOGRAD * Updated the enable-fast-math option in ExecuteNetwork to be consistent Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Id64f114ae47966def69a9eef0770a4251ee56a41
2020-09-17IVGCVSW-5300 Remove some boost::numeric_cast from armnn/backendsMatthew Sloyan
* Replaced with armnn/utility/NumericCast.hpp * Some exclusions in reference backend * Excluded as requires float implementation in NumericCast.hpp Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I9e4e9cd502c865452128fa04415fd6f250baa855
2020-09-14IVGCVSW-5157 'Pipe ModelOption through Network::LoadNetwork() to Workload ↵Sadik Armagan
factory' * Pass ModelOptions to WorkloadFactory * Updated signature of CL and NEON Convolution2d workloads added FastMathEnabled param. Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I536178be8e4dd4083489e69febadaf0feeba46d2
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-09-03Update ACL pin to ec4dee8c68a3d0f6d63db184bfb2f4589429778eTeresa Charlin
* Axis for LogSoftMax and SoftMax can be either positive or negative Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I36b0507ad7600c0a98c3b8be3c0350045ee05b84 Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
2020-08-31IVGCVSW-5256 Use CreateTensorHandle() function from TensorHandleFactory in ↵Finn Williams
the tests for layers Q,R & T Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I6fc613d31785298a0b7ed18f1abdd59bafed1e8e
2020-08-31IVGCVSW-5231 Remove CreateTensorHandle in the test where there is ↵Keith Davis
NO_DEPRECATE_WARN * Done for all elementwise layers, Activation, BatchNorm, BatchToSpace Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: Id1d15a0960233026aecf7a07e0d3f006e07e4abf
2020-08-31IVGCVSW-5253 Use CreateTensorHandle() function from TensorHandleFactory in ↵Finn Williams
the tests for layers M-P Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I324eee7d750e30f714e0d346b7da7b69866ff935
2020-08-31IVGCVSW-5252 Use CreateTensorHandle() function from TensorHandleFactory in ↵Finn Williams
the tests for layers between G-L Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I197351a479fb211787bd12a73c9618d2ded95898
2020-08-31IVGCVSW-5249 Use CreateTensorHandle from ITensorHandleFactory in the test ↵Keith Davis
for all layers between C-D Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I9583adf50e67e63e73833f400d1c50fbff57f60c
2020-08-31IVGCVSW-5250 Remove CreateTensorHandle in the test for layers between E-FFinn Williams
* Refactored Floor and FullyConnected tests Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: Iad87254e638bdcb5d7b334b16ec87a0c981e48a0
2020-08-28IVGCVSW-5257 'Remove CreateTensorHandle in the test for layers beginning with S'Sadik Armagan
* Re-factored SplaceToDepth, Splitter, Stack and StridedSlice unit tests to use TensorHandleFactory for creating TensorHandles Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ib22bb09cd2120c02c548099eaa06db6e6f00b15e
2020-08-27IVGCVSW-5257 'Remove CreateTensorHandle in the test for layers beginning with S'Sadik Armagan
* Re-factored SoftmaxTestImpl to use TensorHandleFactory to create TensorHandles Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I83559a89187bbed0d6f34ca589ea81c694bf5683
2020-08-27IVGCVSW-5257 'Remove CreateTensorHandle in the test for layers beginning with S'Sadik Armagan
* Re-factored SpaceToBatchNd tests to use TensorHandleFactory to create TensorHandles Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I096a6e30ecc97dd9b93b206157f16d912085703c
2020-08-27IVGCVSW-5251 'Remove CreateTensorHandle for ArgMinMaxTestImpl'Sadik Armagan
* Refactored ArgMinMax tests to use TensorHandleFactory instead of WorkloadFactory Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ibff0f9370972f9a0a977c05275cb6168f8f88ae5
2020-08-26IVGCVSW-5250 Remove CreateTensorHandle in the test for layers between E-FFinn Williams
* Added new test function to pass in the ITensorHandleFactory Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I9b2e9250200e092541e29796ec53cabd0b677acf
2020-08-25IVGCVSW-5109 'Add SupportsInPlaceComputation to TensorHandleFactories'Sadik Armagan
* Added functionality to query if TensorHandleFactory supports InPlaceComputation Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Icf5bfc5f999fc5d03681dcb8cec88d921842458b
2020-08-19IVGCVSW-5012 Add importEnabled option for OptimizerOptionsNarumol Prangnawarat
* Default importEnabled to false * Improve error messages Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I17f78986aa1d23e48b0844297a52029b1a9bbe3e
2020-08-18IVGCVSW-5014 Deprecate CreateTensorHandle from WorkloadFactorySadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I948117b0ff5be27540267edbd68628f1bff23a9d
2020-08-17IVGCVSW-5230 Add ARMNN_NO_DEPRECATE_WARN to TimerTestsTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ib7a1c9cc2cff207700c3c86dbac8df160670c576
2020-08-17Update padding required layersNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ia0982a87f1ce7250b9a6b4188fc6877a92cdfe40
2020-08-17IVGCVSW-5107 Allow Split to use subtensor on x and yKeith Davis
Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I2370d260b750f36842c23f08e8a00ccf976d0aed
2020-08-17IVGCVSW-5221 Fix dynamic backend build failureNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I0c007db23cd703f7c37c120ef177d67476882c34
2020-08-16IVGCVSW-5012 Enable zero copy for NeonNarumol Prangnawarat
* Allow memory import if padding is not required in Neon * AddMockImportBackend for fallback tests * Refactor GraphUtils * Memory import unit tests * Fallback unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ic2e141e12774bf6d915e77745b6f6d2d83d9b82d
2020-08-16IVGCVSW-5216 Remove CreateTensorHandle from TransposeTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Iea9cc3a36021aac4b86ea5d8340dd8eb1f308283
2020-08-15IVGCVSW-5218 Remove CreateTensorHandle from DetectionPostProcess and PreluFrancis Murtagh
* Remove default arguments in Neon and CL causing ambiguity Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I314885719a16311b68c7bda37cd54b2ca0d14480
2020-08-12IVGCVSW-4979 Add GetTensorHandleFactory to WorkloadFactoryHelper(Ref/Ne/Cl)Teresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I7e4c752f396833e226d73c3569e195b796fbf482
2020-08-10Update ACL pin to 4aed4aafa2ddb0b6f4b76aef5008c8bb45599ea4Teresa Charlin
* Use axis=-1 in all softmax tests as ACL only accepts this dimension (the most right dimension, in ACL is 0 and in ArmNN is -1). Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I4be83f60aa9505b4bf2367c4489e6f12d644c6d4
2020-08-07IVGCVSW-5108 Allow Concat to use subtensor on x and ySadik Armagan
* Updated ConcatLayer to allow using subtensors on x/y if padding is not required Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I46a8fb9f17b976b76e069bb82614b6628a206717
2020-08-05Updated ACL pin to 0499dff9293a86d3d53f72fed0a38b2823563674Teresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I637d93f72a521a8fbcd4e0f5a61cf3e7f9cd5976
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-29IVGCVSW-5085 Updates to CL and NEON TensorHandleFactoryDavid Monahan
* Update the CL and Neon TensorHandleFactories to not use SubTensors if Axis is on x or y Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I782b89f50a92b21fdcbe68dab0281ad265fb3b63
2020-07-29IVGCVSW-5167 Use a generic axis in CL/Neon LogSoftmax and Softmax workloadTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Id72d2c2851adcc1dd8f00a6103642b16ebe3a964
2020-07-28IVGCVSW-4973 Enable QLstm projection unit tests on NEONTeresa Charlin
*Cosmetic changes on NeonQLstmWorkload Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I53e00ec31845d4c7d1f00d53d179b8540dcee608
2020-07-28IVGCVSW-4712 Add EndToEnd test for FILLTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ic89bcbbd580abe1b05bd26748db704e83cf65bea
2020-07-27IVGCVSW-5011 Implement GetCapabilities in NeonTensorHandleFactoryNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I43591ec1250c1d84d286de85956a86eb5e2abc2a
2020-07-24IVGCVSW-3897 Add NEON LOG_SOFTMAX WorkloadKeith Davis
Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I632b5ac7f188853de68e232e81568b3fca238d42
2020-07-24IVGCVSW-4889/IVGCVSW-4890 CL/Neon UnitTests for align_corners & half_pixelsTeresa Charlin
*Add more UnitTests to the reference implemenation. Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Idbce68baa76b049e5f741f790a5cfd75acb54a95
2020-07-22Update ACL pin to aa95ddc2abb7cef0b2edd03f7c4c9d9c6b9d7cf4Teresa Charlin
IVGCVSW-5136 Adapt to change in ConcatenateLayer in ACL Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I5bc1752215a7b5a91c449e62809ae06f501c6108