aboutsummaryrefslogtreecommitdiff
path: root/src/backends/cl
AgeCommit message (Collapse)Author
2019-03-15IVGCVSW-2354 Caffe SqueezeNet through armnn Cl and NeonNarumol Prangnawarat
* Compute Softmax Acl axis for Cl and Neon * Add unittests for Softmax in 3D and 4D * Correct input and output layer names in CaffeSqueezeNet inference test Change-Id: I2d369d9a2db19c40f2af3341039dd33f0c5637b1 Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
2019-02-26IVGCVSW-2756 Fix bug in ClSpaceToBatchNdWorkloadNattapat Chaimanowong
*Padding was not in format expected by Cl Change-Id: Id0de3fd2b306e31d555e2d67bc4406e5302dcd3b Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-02-21IVGCVSW-2424 Add LOGISTIC Operator Support (CL)Finn Williams
* Added Logistic tests in ClLayerTests * Removed check for QuantisedAsymm8 in CLActivationWorkload Change-Id: I6950e18109504d8426b727cb6b7d19898c899024 Signed-off-by: Finn Williams <finn.williams@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-30IVGCVSW-2458 Refactor the Optimize function (Network.cpp) so thatMatteo Martincigh
subgraphs are optimized by the backends * Added a new method OptimizeSubGraph to the backend interface * Refactored the Optimize function so that the backend-specific optimization is performed by the backend itself (through the new OptimizeSubGraph interface method) * Added a new ApplyBackendOptimizations function to apply the new changes * Added some new convenient constructors to the SubGraph class * Added AddLayer method and a pointer to the parent graph to the SubGraph class * Updated the sub-graph unit tests to match the changes * Added SelectSubGraphs and ReplaceSubGraphConnections overloads that work with sub-graphs * Removed unused code and minor refactoring where necessary Change-Id: I46181794c6a9e3b10558944f804e06a8f693a6d0
2019-01-29IVGCVSW-2443 Add Cl support for Greater operatorNattapat Chaimanowong
Change-Id: I7eb3b2e712dbaa5c13f6cf3a1da63df4d2bd4de5
2019-01-24IVGCVSW-2555 Add no-op implementation for Detection PostProcessNarumol Prangnawarat
* Added DetectionPostProcessQueueDescriptor to WorkloadData * Added CreateDetectionPostProcess function in WorkloadFactory.hpp * Added stub implementation of the CreateDetectionPostProcess in workload factories * Added DetectionPostProcessLayer stub implementation * Added AddDetectionPostProcessLayer to Network * Added IsDetectionPostProcessSupported to LayerSupportBase Change-Id: Ifc071b3b6b12877c997bdcc43d769c8f891d5c6c
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-23IVGCVSW-2455 Move the extra backend code to a new git repoMatteo Martincigh
* Refactored all the workload factories to use "virtual" properly * Removed the precompiled layer support from the optimizer * Disabled compiler optimization for debug build to ease debugging Change-Id: I6ab83abd78f422771359295e25b79bb9be613cfd
2019-01-23IVGCVSW-2467 Update Boolean type supportNattapat Chaimanowong
Change-Id: I0ab3339e8803a3e4e700d8fec9883eccc524b31e
2019-01-22IVGCVSW-2467 Remove GetDataType<T> functionNattapat Chaimanowong
Change-Id: I7359617a307b9abb4c30b3d5f2364dc6d0f828f0
2019-01-16IVGCVSW-2508 Add no-op factory implementations and layer for Gather operatornarpra01
* Added GatherQueueDescriptor to WorkloadData * Added CreateGather function in WorkloadFactory.hpp * Added stub implementation of the CreateGreater function in workload factories * Added GatherLayer stub implementation * Added AddGatherLayer to Network * Added IsGatherSupported to LayerSupportBase Change-Id: I0408fd54e88a7d4e3d9e1c2811a9323f0da52a04
2019-01-15IVGCVSW-2454 Merge together the pluggable backends work (was in aMatteo Martincigh
separate branch) and master * Brings in all the changes done for the pluggable backends * Added sub-graph support and tests * Added precompiled layer support and tests * Moved BackendSettings to a separate file * Removed the backend-specific code * Ported DebugLayer and associated functionality * Included fixes to make those changes work with master Change-Id: Id7028fa7917527b844628d5aff5732e3d94c0488
2019-01-14MLCE-86 Reversing the pad list in the ClPadValidate function similarly to ↵Éanna Ó Catháin
whats done in the constructor. Change-Id: I9488cebd63767c0c51d9ee6333d5aaf0e4a85847
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-10MLCE-82 Add IsLayerSupported tests for MEANMatthew Bentham
Change-Id: I43be451f490db0154021f47a2fd49d1269cf5b95
2019-01-09IVGCVSW-2438 Add Minimum operator support (CL)saoste01
* Added CL unit tests Change-Id: Ia4af49b133774141384a177f5b042e65764bf682
2019-01-07IVGCVSW-2371 Add Rsqrt Ref implementationMohamed Nour Abouelseoud
*Added Unit Tests Change-Id: I6cceb8e6dcda35ce08415f8e5ca86019a64d26e3
2019-01-04MLCE-77 Depthwise Convolution with depth multiplier > 1 doesn't workMatteo Martincigh
* Unified ArmNN's weight format to [ M, I, H, W ] for the depthwise convolution * Added conversion utilities to permute/reshape the weights as appropriate when using CL and Neon backends * Updated the reference implementation of the convolution * Updated the relevant unit tests accordingly !android-nn-driver:459 Change-Id: I07d0818efa9d1ca1e5dad82983aac1fe78eadb18
2019-01-04IVGCVSW-2383: code cleanup, remove unnecessary isSupported implementations,Nina Drozd
default cases are handled by DefaultLayerSupport Change-Id: I31942a5e8515d6fdce9a0adf20906eaabc2b9aa6
2019-01-02IVGCVSW-2308 Add Conv2d tests where stride > 1Mike Kelly
Change-Id: Iae6a3bfad06cb669ef0abea465d03163bb8316f5
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-20IVGCVSW-2164 Added ACL implementation of SpaceToBatchNd operation to ArmNNSadik Armagan
!android-nn-driver:428 Change-Id: I42e59ad96d2c80f46b085182855d34b710a74dfe
2018-12-20IVGCVSW-2211 Maximum operator support (CL)keidav01
* Added CLMaximumWorkload implementation * Added CL unit tests Change-Id: I922c83fe25d17be21a5d0f4e861038463cb09789
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-18IVGCVSW-2131 Implementation of StridedSlice operationkeidav01
* Added ACl Implementation to ArmNN * Added helper function for setting CL Strided Slice arguments Change-Id: Ie10d387fdb054027ea9b8782743d270bb72949c1
2018-12-17IVGCVSW-2398 Add no-op factory implementations for all backends for theFrancisMurtagh
Equal operation * Add QueueDescriptor in WorkloadData.hpp * Add CreateEqual function in WorkloadFactory.hpp * Added stub implementation of the CreateEqual function in RefWorkloadFactory, NeonWorkloadFactory and ClWorkloadFactory Change-Id: Iec6dc2f989c67fa6f0c32cfb93508995c8580783
2018-12-14IVGCVSW-2377 Add no-op factory implementations for all backends for theMatteo Martincigh
Greater operation * Added QueueDescriptor in WorkloadData.hpp * Added CreateGreater function in WorkloadFactory.hpp * Added stub implementation of the CreateGreater function in RefWorkloadFactory, NeonWorkloadFactory and ClWorkloadFactory * Added GreaterLayer stub implementation * Renamed ArithmeticBaseLayer to ElementwiseBaseLayer Change-Id: I7e38c2936de905da921a92ba3f918478169ec7f5
2018-12-10IVGCVSW-2354 Remove dimension validation from softmaxMohamed Nour Abouelseoud
Change-Id: I0d69a72df9e348cbeca690926485c050499d1051
2018-12-03IVGCVSW-2315 Add DebugLayer and no-op factory methodNattapat Chaimanowong
Change-Id: I5455b720565248ff94278e76887d63f8434a7b58
2018-11-29IVGCVSW-2245 Add Minimum Layer and no-op Factory implementationkevmay01
Change-Id: I03fa374fd9692d98257de709f8c3ad0a49c88b95
2018-11-28IVGCVSW-2202 Refactoring Arithmetic* names to Elementwise* names for ↵Éanna Ó Catháin
workloads and workload functions Change-Id: I6f3fce12a55f7d38ceafcdfcd6b5181bf56e2c09
2018-11-28IVGCVSW-2253 Add maximum layer and corresponding no-op factory implementationNattapat Chaimanowong
Change-Id: I8964f5e8978c2d2a07734a381e3f7c656c22456a
2018-11-28IVGCVSW-1199: BATCH_TO_SPACE_ND integrate Arm Compute CLMike Kelly
Change-Id: Ic772acf481caed6e8a6b99f68a63dfc2a34c24dc
2018-11-22Refactor JSON printer test implementationAron Virginas-Tar
Change-Id: Icc1de9b69d7bb74b6bf5a6a6f315cf07fe2c5223
2018-11-21IVGCVSW-1837: Enable broadcast tests for SUB CL/NEON WorkloadMohamed Nour Abouelseoud
Enabled subtraction broadcasting tests for CL/NEON Enabled Uint8 subtraction tests for CL Change-Id: Id36c1530f967c77f5633616e8f491cac9547724b
2018-11-20IVGCVSW-2173 - Add end to end layer test implementation and example usagenarpra01
* Add CommonTestUtils * Add end to end layer test implementation * Add example usage for Merger layer on Ref, Cl, Neon Change-Id: I8931136288cd68b80bcdad8f5ae087ae1a70a60a
2018-11-20IVGCVSW-1199 Disable auto-flattening of Compute Library tensorsMatthew Bentham
This is one of the reasons why the tests in https://review.mlplatform.org/#/c/ml/armnn/+/237/ are failing (but not the only reason). Change-Id: If485bade2a6dd013cba826cec71d748fc7747249
2018-11-20IVGCVSW-2175 - Add support for uint8 Concatenation on CLnarpra01
Change-Id: I9bc46e17e11d73ee1a3bc4f9ec07d46be77fcbcb
2018-11-19IVGCVSW-2169 Remove DataLayoutIndexed from public APIMatthew Bentham
Change-Id: If8d8087d9d365e467d3ca9bf9c40d7219cb75cfd
2018-11-19IVGCVSW-2105 - Unit tests for mergernarpra01
* Add LayerTests * Add WorkloadTests !android-nn-driver:166 Change-Id: I903461002879f60fc9f8ae929f18784e2d9b1fc1
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-2017: CLWorkload to use L2NormalizationFrancisMurtagh
* Changed ClL2Normalisation from using CLNormalizationLayer to use CLL2NormalizeLayer to normalise along the channel axis in either NCHW or NHWC format. Change-Id: I399cbee408a277d1ef8c6c85ebcbd86d6c3e407b
2018-11-16IVGCVSW-2157: Remove conditional compilation directives from ClBackendContextAron Virginas-Tar
Change-Id: I0b9818c3bc09101aa6563ea8e4a886483d3b09d1
2018-11-16IVGCVSW-2092 Port LSTMCell::Eval to ArmNNMatteo Martincigh
* Ported Google's LSTM implementation to RefLstmFloat32Workload * Fixed the code throughout because of an error in the docs around the scratch buffer size * Updated IsLstmSupported * Added the unit tests !android-nn-driver:127 Change-Id: I5577b7e39ca52df1a7f102a9b437df6aa99520b6
2018-11-15IVGCVSW-2156: Remove conditional compilation directives from ClContextControlAron Virginas-Tar
Change-Id: I812d09a869fe7c45ce71108fb675f3e2d974e2d9
2018-11-15IVGCVSW-2086: Add StridedSlice layer & corresponding no-op factory ↵Conor Kennedy
implementations Change-Id: I906dcb8b4c9b491bf3a661f208c09d0ea1c0fa35