platform/upstream/armnn.git
5 years agoIVGCVSW-1865 - Support NHWC for Convolution2D (CpuRef)
Nikhil Raj [Thu, 18 Oct 2018 09:11:04 +0000 (10:11 +0100)]
IVGCVSW-1865 - Support NHWC for Convolution2D (CpuRef)

* Updated the ConvImpl.hpp to use DataLayoutIndex
* Enabled unit test for CpuRef
* Update CreateWorkload Tests for ref with NHWC

Change-Id: Id309b7ef677489d63dcb5e09bd48ab9624b5ebfb

5 years agoIVGCVSW-2037 : separate registry for layer support intrefaces
David Beck [Wed, 17 Oct 2018 13:17:50 +0000 (14:17 +0100)]
IVGCVSW-2037 : separate registry for layer support intrefaces

* because their lifetime is different from backends

Change-Id: I9ba525e7e503b148cde1294933f3954b8bad3d68

5 years agoIVGCVSW-2032 + IVGCVSW-2033 Add NHWC implementation to the reference
Matteo Martincigh [Thu, 18 Oct 2018 07:45:39 +0000 (08:45 +0100)]
IVGCVSW-2032 + IVGCVSW-2033 Add NHWC implementation to the reference
Normalization workload

 * Enabled NHWC support in RefNormalizationFloat32Workload for
   Across normalization
 * Added unit test for the reference implementation

Change-Id: I0e1f319e76491d43b83b121c273fadb5b259d1a0

5 years agoIVGCVSW-2038 + IVGCVSW-2039 + IVGCVSW-2040 Add NHWC support to the Float32 and UInt8
Matteo Martincigh [Wed, 17 Oct 2018 13:43:29 +0000 (14:43 +0100)]
IVGCVSW-2038 + IVGCVSW-2039 + IVGCVSW-2040 Add NHWC support to the Float32 and UInt8
BatchNormalization workloads

 * Enabled NHWC support in RefBatchNormalizationFloat32Workload
 * Added NHWC unit tests for both FP32 and U8
 * Refactored the existing unit tests

Change-Id: I6aa18f1dcc0666b80a17a7ed229cf53607bae147

5 years agoIVGCVSW-2012: Remove check for DataType::QuantisedAsymm8 in NeonLayerSupport
Aron Virginas-Tar [Mon, 15 Oct 2018 15:08:20 +0000 (16:08 +0100)]
IVGCVSW-2012: Remove check for DataType::QuantisedAsymm8 in NeonLayerSupport

Change-Id: Ifeabb8c6aa02b5209245d863fc0d7aeceb25cb30

5 years agoAdded missing pragma directive to TensorBufferArrayView.hpp
Matteo Martincigh [Wed, 17 Oct 2018 13:45:07 +0000 (14:45 +0100)]
Added missing pragma directive to TensorBufferArrayView.hpp

Change-Id: Ic7882cb415ccb7a899f5fb353fb96a1f19d03346

5 years agoIVGCVSW-1951 Remove type templating from NeonDepthwiseConvolutionWorkload
Nattapat Chaimanowong [Wed, 17 Oct 2018 10:12:19 +0000 (11:12 +0100)]
IVGCVSW-1951 Remove type templating from NeonDepthwiseConvolutionWorkload

Change-Id: I411d02949524eb802672d83ee281300c34b007c8

5 years agoIVGCVSW-1951 Remove type templating from NeonConvolution2dWorkload
Nattapat Chaimanowong [Mon, 15 Oct 2018 14:07:34 +0000 (15:07 +0100)]
IVGCVSW-1951 Remove type templating from NeonConvolution2dWorkload

Change-Id: Id3d8137d60b14e93863ad5b6db752a7f6ef9b7fb

5 years agoIVGCVSW-2022 : fix for backend cmake files to respect BUILD_UNIT_TESTS variable
David Beck [Tue, 16 Oct 2018 11:58:49 +0000 (12:58 +0100)]
IVGCVSW-2022 : fix for backend cmake files to respect BUILD_UNIT_TESTS variable

Change-Id: I8d34419742152edd50f1ec438e32d3ccc4f38351

5 years agoFixed unsigned to signed conversion warning
Kohei Takahashi [Fri, 31 Aug 2018 08:53:11 +0000 (17:53 +0900)]
Fixed unsigned to signed conversion warning

Change-Id: I6ff147e4418e8d0252bedfd1cf4a3bc3bc38ada7

5 years agoIVGCVSW-2018 Support NHWC in the current ref implementation
Matteo Martincigh [Tue, 16 Oct 2018 15:23:33 +0000 (16:23 +0100)]
IVGCVSW-2018 Support NHWC in the current ref implementation

 * Enabled the now supported ref layer tests
 * Re-enabled the failing test now that the bug has been fixed in
   ACL 1903a9976ae24f40cb2203364211ed62fcfbb985
 * Added CreateWorkload test for ref L2Normalization NHWC
 * Refactoring the ref L2Normalization for clarity

!armnn:153723

Change-Id: Id0067e49072b3e057ffe3ae3b70d928be6091c0f

5 years agoIVGCVSW-1951 Update NeonWorkloadUtils
Nattapat Chaimanowong [Tue, 16 Oct 2018 12:21:27 +0000 (13:21 +0100)]
IVGCVSW-1951 Update NeonWorkloadUtils

Change-Id: I147dbf6811f84ec4588264d636a36efc8ec56f72

5 years agoIVGCVSW-2018 Support NHWC in the current ref implementation
Matteo Martincigh [Tue, 16 Oct 2018 15:17:34 +0000 (16:17 +0100)]
IVGCVSW-2018 Support NHWC in the current ref implementation

 * Added NHWC support to TensorBufferArrayView class

Change-Id: I41e1d0acd226a471ec834e380389631d9236cb00

5 years agoIVGCVSW-1998 : indicate deprecated functions and types in the public API
David Beck [Tue, 16 Oct 2018 10:32:20 +0000 (11:32 +0100)]
IVGCVSW-1998 : indicate deprecated functions and types in the public API

Change-Id: I60644cead5087c2012b663512fb9448dd31523af

5 years agoRestored test that was commented out when working on LSTM
Matteo Martincigh [Tue, 16 Oct 2018 08:45:08 +0000 (09:45 +0100)]
Restored test that was commented out when working on LSTM

Change-Id: I161a832e4e53cf014a3d57784bd2f0bffbd633b5

5 years agoIVGCVSW-2003: Get rid of IsLayerSupportedNeon functions in favor of ILayerSupport...
Aron Virginas-Tar [Mon, 15 Oct 2018 14:00:13 +0000 (15:00 +0100)]
IVGCVSW-2003: Get rid of IsLayerSupportedNeon functions in favor of ILayerSupport interface

Change-Id: I03985ff678acf9393680340638a2e1f425b9966f

5 years agoIVGCVSW-2002: Get rid of IsLayerSupportedCl functions in favor of ILayerSupport interface
Aron Virginas-Tar [Mon, 15 Oct 2018 10:47:37 +0000 (11:47 +0100)]
IVGCVSW-2002: Get rid of IsLayerSupportedCl functions in favor of ILayerSupport interface

Change-Id: Ic9172a5534eb243f3467996dd30c4400bc06224e

5 years agoIVGCVSW-1885 add RefPadWorkload implementation and associated unit tests
Mohamed Nour Abouelseoud [Fri, 12 Oct 2018 11:26:24 +0000 (12:26 +0100)]
IVGCVSW-1885 add RefPadWorkload implementation and associated unit tests

 * Added RefPadWorkload implementation
 * Added unit tests and applied them to CL and Ref backends
 * Fixed a bug in ClPadWorkload

Change-Id: I8cb76bc9d60ae8a39b08d40f05d628e3b72f6410

5 years agoIVGCVSW-2004: Get rid of IsLayerSupportedRef functions in favor of ILayerSupport...
Aron Virginas-Tar [Mon, 15 Oct 2018 10:11:51 +0000 (11:11 +0100)]
IVGCVSW-2004: Get rid of IsLayerSupportedRef functions in favor of ILayerSupport interface

Change-Id: Ia147a0b408b2ca951c214963432d6e0f9b27b973

5 years agoIVGCVSW-1998 : replace Compute enum in LayerSupport free functions
David Beck [Fri, 12 Oct 2018 09:38:31 +0000 (10:38 +0100)]
IVGCVSW-1998 : replace Compute enum in LayerSupport free functions

!android-nn-driver:153490

Change-Id: I1c2a5f942e3a1c3626e093c90545ca27c64ba5e8

5 years agoIVGCVSW-1951 Remove type templating from NeonConstantWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 11:02:18 +0000 (12:02 +0100)]
IVGCVSW-1951 Remove type templating from NeonConstantWorkload

Change-Id: Ib831f02ab6b5d96f1a959187d8f3e694e6257ae5

5 years agoIVGCVSW-2006: Move ACL memory manager source code under aclCommon
Aron Virginas-Tar [Fri, 12 Oct 2018 14:18:03 +0000 (15:18 +0100)]
IVGCVSW-2006: Move ACL memory manager source code under aclCommon

Change-Id: Ie1c74a18de5c3dd1cd5285c222bd6327489c1508

5 years agoIVGCVSW-1938: Move backend-specific source files to the corresponding backend
Aron Virginas-Tar [Fri, 12 Oct 2018 12:00:55 +0000 (13:00 +0100)]
IVGCVSW-1938: Move backend-specific source files to the corresponding backend

Change-Id: I558a9a007604afc55e536d877f8da7d0215cc9c3

5 years agoIVGCVSW-1998: fix missing file from common.cmake
David Beck [Mon, 15 Oct 2018 09:33:33 +0000 (10:33 +0100)]
IVGCVSW-1998: fix missing file from common.cmake

Change-Id: I47d9b3a3d77ca2d789c82e57579470c09a662416

5 years agoMLCE-51 MaxPool + Add Unit test
Éanna Ó Catháin [Fri, 12 Oct 2018 13:24:13 +0000 (14:24 +0100)]
MLCE-51 MaxPool + Add Unit test

Change-Id: Id1619ce72a862841439b68e51113febfb0e38fcc

5 years agoIVGCVSW-1951 Remove type templating from NeonPermuteWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 13:14:44 +0000 (14:14 +0100)]
IVGCVSW-1951 Remove type templating from NeonPermuteWorkload

Change-Id: I4b3247fc7c5eb1c0cec5cf22c56d4c7a3f36d51a

5 years agoIVGCVSW-1951 Remove type templating from NeonPooling2dWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 15:03:56 +0000 (16:03 +0100)]
IVGCVSW-1951 Remove type templating from NeonPooling2dWorkload

Change-Id: I65129a72d7585776797cfe0947a2a0f1f483b72f

5 years agoIVGCVSW-1951 Remove type templating from NeonSplitterWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 14:09:53 +0000 (15:09 +0100)]
IVGCVSW-1951 Remove type templating from NeonSplitterWorkload

Change-Id: Iace26e575d8eca50cc81a881b7bb5be46b00f1dc

5 years agoIVGCVSW-1951 Remove type templating from NeonReshapeWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 15:30:56 +0000 (16:30 +0100)]
IVGCVSW-1951 Remove type templating from NeonReshapeWorkload

Change-Id: I90bf3baaad725d121ca864b7a7bb0c74abb69daf

5 years agoIVGCVSW-1922 Unit test for DepthwiseConvolution with NHWC
Nikhil Raj [Fri, 12 Oct 2018 12:51:57 +0000 (13:51 +0100)]
IVGCVSW-1922 Unit test for DepthwiseConvolution with NHWC

Change-Id: I3e6e5b9a62f30d03c05bd7178adea8f4c8275da8

5 years agoIVGCVSW-1951 Remove type templating from NeonMergerWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 12:54:09 +0000 (13:54 +0100)]
IVGCVSW-1951 Remove type templating from NeonMergerWorkload

Change-Id: I284a9aa6865cdbd6975c54b011d2cec15a174e79

5 years agoIVGCVSW-1951 Remove type templating from NeonActivationWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 10:21:49 +0000 (11:21 +0100)]
IVGCVSW-1951 Remove type templating from NeonActivationWorkload

Change-Id: I564a743b4d90ae5364c5958eed3fbfba97782b80

5 years agoIVGCVSW-1951 Remove type templating from ClReshapeWorkload
Nattapat Chaimanowong [Thu, 11 Oct 2018 09:29:15 +0000 (10:29 +0100)]
IVGCVSW-1951 Remove type templating from ClReshapeWorkload

Change-Id: I5349629bc5b36e5b5029a158bf888c09c3bda4b0

5 years agoIVGCVSW-1951 Remove type templating from ClPooling2dWorkload
Nattapat Chaimanowong [Wed, 10 Oct 2018 16:18:35 +0000 (17:18 +0100)]
IVGCVSW-1951 Remove type templating from ClPooling2dWorkload

Change-Id: Iaa3158487b58964d8a3b98acadde7c10172a3860

5 years agoIVGCVSW-1951 Remove type templating from ClMergerWorkload
Nattapat Chaimanowong [Thu, 11 Oct 2018 15:16:17 +0000 (16:16 +0100)]
IVGCVSW-1951 Remove type templating from ClMergerWorkload

Change-Id: I8580f5d1612567a3b02cfccfd1f8d0f196eeda93

5 years agoIVGCVSW-1951 Remove type templating from ClActivationWorkload
Nattapat Chaimanowong [Thu, 11 Oct 2018 14:39:18 +0000 (15:39 +0100)]
IVGCVSW-1951 Remove type templating from ClActivationWorkload

Change-Id: I200adcef35b861a412e7beef8043d5c7dddba443

5 years agoIVGCVSW-1978: Support NHWC for ResizeBilinear CpuRef
James Conroy [Thu, 11 Oct 2018 11:39:05 +0000 (12:39 +0100)]
IVGCVSW-1978: Support NHWC for ResizeBilinear CpuRef

* Adds implementation to plumb DataLayout parameter
  for ResizeBilinear on CpuRef.
* Adds unit tests to execute ResizeBilinear on CpuRef
  using the NHWC data layout.
* Adds DataLayoutIndexed API, allowing easy access to
  the Channels, Height and Width of a tensor based on
  its data layout. This reduces code duplication.
* Refactors original ResizeBilinear implementation and
  tests to use the DataLayoutIndexed API when required.

Change-Id: Ic2b8916cdd2e370d070175547079d774daf6d7bf

5 years agoIVGCVSW-1996: Implement CreateWorkloadFactory() across all internal backends
arovir01 [Thu, 11 Oct 2018 14:00:58 +0000 (15:00 +0100)]
IVGCVSW-1996: Implement CreateWorkloadFactory() across all internal backends

Change-Id: If0a2f010a7a45735ea37c07a5ee1f2398afb9b8b

5 years agoIVGCVSW-1951 Remove type templating from ClConstantWorkload
Nattapat Chaimanowong [Wed, 10 Oct 2018 13:51:27 +0000 (14:51 +0100)]
IVGCVSW-1951 Remove type templating from ClConstantWorkload

Change-Id: Ib2c9fe56c59aedabeff899a81a0afe260bd57c9f

5 years agoIVGCVSW-1969 : remove boost::optional compatibility from ArmNN Optional
David Beck [Thu, 11 Oct 2018 14:47:00 +0000 (15:47 +0100)]
IVGCVSW-1969 : remove boost::optional compatibility from ArmNN Optional

* because it was added by mistake, assuming it was released in 18.08
  which is not the case

Change-Id: I9c288eba56f3f6192007f79db884b255a14456e4

5 years agoIVGCVSW-2000: (Fix) Backend-specific unit tests not being executed
Matteo Martincigh [Thu, 11 Oct 2018 16:39:30 +0000 (17:39 +0100)]
IVGCVSW-2000: (Fix) Backend-specific unit tests not being executed

 * Also disabled the Compute_ArmComputeCl/L2Normalization1dNhwc test as it
   fails due to a bug in ACL

Change-Id: If1e36bc04f606e6568e6a13cc77f8f51f5834997

5 years agoIVGCVSW-1914 Investigate CONV_2D failure on FP16 on Android
Sadik Armagan [Thu, 11 Oct 2018 14:26:57 +0000 (15:26 +0100)]
IVGCVSW-1914 Investigate CONV_2D failure on FP16 on Android
 * Round to nearest instead of round to intermediate (default)
 * Compute Library also round to nearest

Change-Id: I0c71e2ffd28e4e662188fd47d26ec8b538d4ba21

5 years agoIVGCVSW-1951 Remove type templating from ClPermuteWorkload
Nattapat Chaimanowong [Wed, 10 Oct 2018 14:47:15 +0000 (15:47 +0100)]
IVGCVSW-1951 Remove type templating from ClPermuteWorkload

Change-Id: Ibd12e04abe71015f31ee36a7f0a2416cb625cdad

5 years agoIVGCVSW-1951 remove type templating from ClPadWorkload
Nattapat Chaimanowong [Tue, 9 Oct 2018 16:05:24 +0000 (17:05 +0100)]
IVGCVSW-1951 remove type templating from ClPadWorkload

Change-Id: I8182f781369956ca96562777f170ef677f831e4e

5 years agoIVGCVSW-1967 Fix L2Norm NHWC unit test
Matteo Martincigh [Tue, 9 Oct 2018 17:19:20 +0000 (18:19 +0100)]
IVGCVSW-1967 Fix L2Norm NHWC unit test

 * Applying the proper tensor shape during the tests depending on
   the specific data layout used

Change-Id: I9c6c1e077236e84cecc1e10d7b2d0bd901df3ebd

5 years agoIVGCVSW-1952 : add BackendId class to prepare for the replacement of Compute enum
David Beck [Wed, 10 Oct 2018 14:11:44 +0000 (15:11 +0100)]
IVGCVSW-1952 : add BackendId class to prepare for the replacement of Compute enum

!armnn:152674

Change-Id: I1bcdfdfbfb73e502d58f35717e2558e24651013c

5 years agoIVGCVSW-1989 : implement backend creation and registry for Ref,Cl and Neon
David Beck [Tue, 9 Oct 2018 16:20:21 +0000 (17:20 +0100)]
IVGCVSW-1989 : implement backend creation and registry for Ref,Cl and Neon

!armnn:152557

Change-Id: Ic6b99cddee1597c85de76034d9332fe1bf3aceb1

5 years agoIVGCVSW-1987 : registry for backend creation functions (factories)
David Beck [Tue, 9 Oct 2018 14:46:08 +0000 (15:46 +0100)]
IVGCVSW-1987 : registry for backend creation functions (factories)

Change-Id: I13d2d3dc763e1d05dffddb34472bd4f9e632c776

5 years agoIVGCVSW-1988: Refactor backend-specific unit tests
arovir01 [Tue, 9 Oct 2018 17:04:24 +0000 (18:04 +0100)]
IVGCVSW-1988: Refactor backend-specific unit tests

Change-Id: I8eca81d2e0780390eaa837c186ffe1c7d41fdebe

5 years agoFix for Github issue #78
Matthew Bentham [Thu, 11 Oct 2018 08:47:01 +0000 (09:47 +0100)]
Fix for Github issue #78

Always use the Compute Library OpenCL stubs for linking,
but do not add the location to the runtime library path.

Change-Id: Ifc2fbec20183af1babf1167a8711e6709ad33210

5 years agoIVGCVSW-1951-Remove type templating from ClAdditionWorkload
Nattapat Chaimanowong [Wed, 10 Oct 2018 11:11:50 +0000 (12:11 +0100)]
IVGCVSW-1951-Remove type templating from ClAdditionWorkload

Change-Id: Ic16c4505bac9c9025856aa4eac1127ad957c9d75

5 years agoIVGCVSW-1929: Fix for this defect (QASYM8 no scale)
jimfly01 [Mon, 8 Oct 2018 13:43:01 +0000 (14:43 +0100)]
IVGCVSW-1929: Fix for this defect (QASYM8 no scale)

* Now hand in an optional vector of strings to Optimize
  function in which errors/warning messages are placed.
* Optimize function changed to check outputs of each
  layer. If they are Quantized 8 bit but the scale has
  not been set an error message is added for each such output.
* Unit test modelled on defect report added to exercise the fix.

!android-nn-driver:152483

Change-Id: If9901f5324a516f1ab62858266b38f98dae16201

5 years agoIVGCVSW-1974 - Update CreateWorkload test CL and Neon
Francis Murtagh [Tue, 9 Oct 2018 15:22:33 +0000 (16:22 +0100)]
IVGCVSW-1974 - Update CreateWorkload test CL and Neon

Change-Id: Ie02ccbd5945cbacd609b3b5d8d746c202c8e9c69

5 years agoIVGCVSW-1982 - add create workload test for 2D Pooling (NHWC data layout)
Nina Drozd [Tue, 9 Oct 2018 11:09:56 +0000 (12:09 +0100)]
IVGCVSW-1982 - add create workload test for 2D Pooling (NHWC data layout)

Change-Id: Ief0c91ba9abc2578944860ddbd3c19e2bad465bd

5 years agoIVGCVSW-1860 Support NHWC for Pooling2D
Francis Murtagh [Fri, 5 Oct 2018 13:08:48 +0000 (14:08 +0100)]
IVGCVSW-1860 Support NHWC for Pooling2D

Change-Id: I9059a292e47867df82a5efbba5808fd264949ec9

5 years agoIVGCVSW-1964: Cl implementation for the ILayerSupport interface
arovir01 [Tue, 9 Oct 2018 10:16:46 +0000 (11:16 +0100)]
IVGCVSW-1964: Cl implementation for the ILayerSupport interface

Change-Id: I04bd5e069b220712adbeaebdaede2061ba8c0eb4

5 years agoIVGCVSW-1965: Neon implementation for the ILayerSupport interface
arovir01 [Tue, 9 Oct 2018 08:40:58 +0000 (09:40 +0100)]
IVGCVSW-1965: Neon implementation for the ILayerSupport interface

Change-Id: I52f4b44cf3959f49d1066ff7f4b3c1f7682894c9

5 years agoIVGCVSW-1985: Replace std::string* reasonIfNotSupported with Optional<std::string...
arovir01 [Mon, 8 Oct 2018 13:48:19 +0000 (14:48 +0100)]
IVGCVSW-1985: Replace std::string* reasonIfNotSupported with Optional<std::string&> in IsLayerSupported implementations

Change-Id: I2f054f0dcff9bdc86ee90c55b3e94c6b4ae25085

5 years agoIVGCVSW-1983: Order the IsLayerSupported functions alphabetically in ILayerSupport
arovir01 [Mon, 8 Oct 2018 11:01:04 +0000 (12:01 +0100)]
IVGCVSW-1983: Order the IsLayerSupported functions alphabetically in ILayerSupport

Change-Id: I342d7f6f3772534d3665f40079e36c3d4131f483

5 years agoIVGCVSW-1966: Ref implementation for the ILayerSupport interface
arovir01 [Mon, 8 Oct 2018 10:34:28 +0000 (11:34 +0100)]
IVGCVSW-1966: Ref implementation for the ILayerSupport interface

Change-Id: Idd572cae3a131acb11e884e33c0035ca74c95055

5 years agoIVGCVSW-1951 Remove type templating from ClDepthwiseConvolutionWorkload
Matthew Bentham [Mon, 8 Oct 2018 08:38:55 +0000 (09:38 +0100)]
IVGCVSW-1951 Remove type templating from ClDepthwiseConvolutionWorkload

Change-Id: I8bc11c93759605e21cc52f44d032c32a0be63658

5 years agoIVGCVSW-1975 : total removal of boost::optional from the public interface
David Beck [Mon, 8 Oct 2018 12:30:36 +0000 (13:30 +0100)]
IVGCVSW-1975 : total removal of boost::optional from the public interface

Change-Id: Ib38a6216ebcdc350c75c028951b3f18f36a2f6b7

5 years agoIVGCVSW-1973: Replace char* reasonIfNotSupported with Optional<std::string&> in ILaye...
arovir01 [Fri, 5 Oct 2018 14:46:51 +0000 (15:46 +0100)]
IVGCVSW-1973: Replace char* reasonIfNotSupported with Optional<std::string&> in ILayerSupport

Change-Id: Id5db71a0b6f4bdc5d97210652b9028e3c5dcc39a

5 years agoIVGCVSW-1975 : Remove boost::optional from the public interface
David Beck [Fri, 5 Oct 2018 14:12:17 +0000 (15:12 +0100)]
IVGCVSW-1975 : Remove boost::optional from the public interface
IVGCVSW-1964 : Optional to support passing references

Change-Id: I4bf8c264d1726aab7e417de5ffd7d04248332e54

5 years agoIVGCVSW-1932: Add Unit tests for NHWC ResizeBilinear
James Conroy [Wed, 3 Oct 2018 08:32:03 +0000 (09:32 +0100)]
IVGCVSW-1932: Add Unit tests for NHWC ResizeBilinear

* Adds five unit tests that execute ResizeBilinear
  with the NHWC data layout and Float32 data type.
* Refactors original ResizeBilinear Float32 tests
  to take DataLayout as a parameter.
* Adds four unit tests that execute CreateWorkloadCl
  for both NCHW and NHWC (NCHW tests did not exist
  for CreateWorkloadCl).

Change-Id: I1af419ed0b62b8f4d4550f6d120a584a0a223b17

5 years agoIVGCVSW-1964 : replace optional biases with home-grown Optional
David Beck [Thu, 4 Oct 2018 14:43:17 +0000 (15:43 +0100)]
IVGCVSW-1964 : replace optional biases with home-grown Optional

!android-nn-driver:151788

Change-Id: Ibdc41d09b8df05e7a0360dcb8a060860dfb1bd99

5 years agoIVGCVSW-1951 Remove type templating from ClConvolution2dWorkload
Matthew Bentham [Wed, 3 Oct 2018 16:18:04 +0000 (17:18 +0100)]
IVGCVSW-1951 Remove type templating from ClConvolution2dWorkload

Change-Id: Iaa99500bfa8cea846f57636590698f9c8a8c2de0

5 years agoIVGCVSW-1886 - forward layer support for pad
Nina Drozd [Tue, 2 Oct 2018 10:14:17 +0000 (11:14 +0100)]
IVGCVSW-1886 - forward layer support for pad
Ref returning false for now until implementation complete in 1885

Change-Id: I28cbc584eaa6ce3ad79a531db7155b3f9716f30c

5 years agoIVGCVSW-1889 - Unit test Convolution2d with NHWC
Francis Murtagh [Thu, 4 Oct 2018 15:03:07 +0000 (16:03 +0100)]
IVGCVSW-1889 - Unit test Convolution2d with NHWC

* Added simple convolution Unit test
* Set the data layout correctly in workloads

Change-Id: Ie71b8415f6abc392a84900fc4438b7416fbb558a

5 years agoIVGCVSW-1622 LSTM Neon support
Les Bell [Wed, 3 Oct 2018 09:37:52 +0000 (10:37 +0100)]
IVGCVSW-1622 LSTM Neon support

Change-Id: I107d732760dd8662e2ee9a5e7ebb5baf61c45246

5 years agoIVGCVSW-1963: Add implementation classes for Cl, Neon and Ref backends
arovir01 [Thu, 4 Oct 2018 09:46:04 +0000 (10:46 +0100)]
IVGCVSW-1963: Add implementation classes for Cl, Neon and Ref backends

Change-Id: Ibb2efaf8b001a64a3f35eab2220990dc39889780

5 years agoIVGCVSW-1642 : adding IBackendInternal interface
David Beck [Wed, 3 Oct 2018 12:09:28 +0000 (13:09 +0100)]
IVGCVSW-1642 : adding IBackendInternal interface

Change-Id: Icd55fed8381af319f11b4cd977cf03103cdf1bd9

5 years agoIVGCVSW-1863 Unit tests for NHWC L2Normalization
Matteo Martincigh [Mon, 1 Oct 2018 08:26:39 +0000 (09:26 +0100)]
IVGCVSW-1863 Unit tests for NHWC L2Normalization

 * Added NHWC unit test implementation
 * Programmatically selected the channel dimension when creating
   the ACL Normalization layer info
 * Set the input/output data layout in the constructor of the L2Normalization
   workload

Change-Id: Ie69f1a360022c29d1a3a3808c1f26b69243fa8f9

5 years agoIVGCVSW-1957: Improve warning message in Network::Optimize()
arovir01 [Wed, 3 Oct 2018 09:23:36 +0000 (10:23 +0100)]
IVGCVSW-1957: Improve warning message in Network::Optimize()

* Added data type to layer not supported warnign message for more clarity

Change-Id: I7a933ad32e6a0288e8dd712a7a1dea016e4bd9a2

5 years agoIVGCVSW-1642 : introducing the IBackend interface
David Beck [Wed, 3 Oct 2018 10:42:42 +0000 (11:42 +0100)]
IVGCVSW-1642 : introducing the IBackend interface

Change-Id: Iaadee0a08c0594c9a3c802a48fe346e15f2cbbb2

5 years agoIVGCVSW-1931: Refactor ClResizeBilinearFloatWorkload
James Conroy [Tue, 2 Oct 2018 16:10:14 +0000 (17:10 +0100)]
IVGCVSW-1931: Refactor ClResizeBilinearFloatWorkload

* Refactored ClResizeBilinearFloatWorkload so that
  ConvertDataLayout is executed once only.

Change-Id: I3961847eaab65caa696c61fad665dc042556f098

5 years agoIVGCVSW-1920 Unittests for NHWC Normalization Workloads and Layer
narpra01 [Tue, 2 Oct 2018 13:35:53 +0000 (14:35 +0100)]
IVGCVSW-1920 Unittests for NHWC Normalization Workloads and Layer

Change-Id: Iea941c1747454f5a4342351e4e82b10ffb9ccbbd

5 years agoIVGCVSW-1931: Add data layout param for ResizeBilinear
James Conroy [Mon, 1 Oct 2018 08:15:19 +0000 (09:15 +0100)]
IVGCVSW-1931: Add data layout param for ResizeBilinear

* Added data layout parameter to ResizeBilinear
  descriptor, in order to support NHWC.

Change-Id: Ifdbc4529127b7329a056d0a68e2e42b175aeea4a

5 years agoIVGCVSW-1913: Fix for ValidationTest.concat_float_3_relaxed
arovir01 [Mon, 1 Oct 2018 16:08:59 +0000 (17:08 +0100)]
IVGCVSW-1913: Fix for ValidationTest.concat_float_3_relaxed

* Added RefPermuteFloat16Workload to serve as a fallback when CL
  does not support the required permute configuration for FP16
* Move Half.hpp to armnnUtils as the utils library should not be
  including private header files from the armnn library

Change-Id: Ibf0f698451e8406f7ed7cce470dab60b6d16361d

5 years agoIVGCVSW-1951 Remove type templating from ClSplitterWorkload
Matthew Bentham [Mon, 1 Oct 2018 16:22:32 +0000 (17:22 +0100)]
IVGCVSW-1951 Remove type templating from ClSplitterWorkload

Change-Id: Ib289ed5885e0e22ce6d73d7b3b3b103691187a34

5 years agoIVGCVSW-1935 : inline code documentation for pluggable backends
David Beck [Fri, 28 Sep 2018 15:19:47 +0000 (16:19 +0100)]
IVGCVSW-1935 : inline code documentation for pluggable backends

Change-Id: I2a46e4dfffcc103bf228aa161bb2fba8f259076a

5 years agoIVGCVSW-1823 Fix uninitialised member
Derek Lamberti [Mon, 1 Oct 2018 16:10:05 +0000 (17:10 +0100)]
IVGCVSW-1823 Fix uninitialised member

Change-Id: I9b3aa1dd44318e25d520eaa35b99a07ac6b95335

5 years agoIVGCVSW-1951 Remove type templating from ClSubtractionWorkload
Matthew Bentham [Mon, 1 Oct 2018 15:39:28 +0000 (16:39 +0100)]
IVGCVSW-1951 Remove type templating from ClSubtractionWorkload

Change-Id: Ieda5146d23227e9764f3f867003a13c630494093

5 years agoIVGCVSW-1787 Add Support for Concatenation on TfLite parser
Sadik Armagan [Mon, 1 Oct 2018 10:51:37 +0000 (11:51 +0100)]
IVGCVSW-1787 Add Support for Concatenation on TfLite parser
 * Concatenation Parser function added to the TfLite Parser

Change-Id: I42a42cd765ea09a30841c66b1942b9e09a876b10

5 years agoIVGCVSW-1824 Fix slow profiling of neon. (~50% reduced end-to-end time)
Derek Lamberti [Mon, 1 Oct 2018 08:28:57 +0000 (09:28 +0100)]
IVGCVSW-1824 Fix slow profiling of neon. (~50% reduced end-to-end time)

Change-Id: I58295c298934317a2b365887bd9f9f6705cd0a21

5 years agoIVGCVSW-1900 Removed unused file src/backends/ClWorkloads.hpp
Matteo Martincigh [Mon, 1 Oct 2018 12:11:00 +0000 (13:11 +0100)]
IVGCVSW-1900 Removed unused file src/backends/ClWorkloads.hpp

Change-Id: I43d2c91fb53f6eb76ee37da73625ed79f602f04e

5 years agoIVGCVSW-1207 - Remove typing from ClMultiplicationWorkload
Matthew Bentham [Mon, 1 Oct 2018 10:32:48 +0000 (11:32 +0100)]
IVGCVSW-1207 - Remove typing from ClMultiplicationWorkload

Don't need this now as it uses the compute library validation function,
and all of the code for the supported types is identical.

Adds Uint8 support to Cl backend, and unit test cases.

Change-Id: I35d4edacc1aca241e95d1b19ae525a23d9513c99

5 years agoIVGCVSW-1906 : make Android make and CMake files more similar
David Beck [Fri, 28 Sep 2018 15:51:01 +0000 (16:51 +0100)]
IVGCVSW-1906 : make Android make and CMake files more similar

Change-Id: I15e689a6288b8476db7e67d7153899814c3cdf9e

5 years agoIVGCVSW-1900 : CL backend folder structure
David Beck [Wed, 26 Sep 2018 16:41:13 +0000 (17:41 +0100)]
IVGCVSW-1900 : CL backend folder structure

* moving backends/ClWorkloads to backends/cl
* and moving pure Cl workload related code to
  backends/cl/workloads

Change-Id: I019a3c6b4da5e7a23074bf03fb057e63199ad129

5 years agoIVGCVSW-1863 Support NHWC for L2Normalization
Matteo Martincigh [Fri, 28 Sep 2018 13:14:12 +0000 (14:14 +0100)]
IVGCVSW-1863 Support NHWC for L2Normalization

 * 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

5 years agoIVGCVSW-1882: Added ClPadWorkload
jimfly01 [Fri, 21 Sep 2018 11:09:51 +0000 (12:09 +0100)]
IVGCVSW-1882: Added ClPadWorkload

* added ClPadWorkload class
* Updated ClWorkloadFactory
* added IsPadSupportedCl function
* Updated build files

Change-Id: Iadccc340a0eae1ff30fab6441854acac7f8edc92

5 years agoIVGCVSW-1812 Adding Ref implementation and tests of MeanWorkloads
narpra01 [Fri, 28 Sep 2018 10:07:51 +0000 (11:07 +0100)]
IVGCVSW-1812 Adding Ref implementation and tests of MeanWorkloads

Change-Id: I6fb15c407024e3b91d5abf4513f8090be5821760

5 years agoIVGCVSW-1919 - data layout parameter for Normalization
narpra01 [Thu, 27 Sep 2018 15:46:14 +0000 (16:46 +0100)]
IVGCVSW-1919 - data layout parameter for Normalization

Change-Id: I33dce72bb0f1e25425dc058d6213a7cdf56eecd2

5 years agoIVGCVSW-1899 : Neon backend folder structure
David Beck [Mon, 24 Sep 2018 14:59:27 +0000 (15:59 +0100)]
IVGCVSW-1899 : Neon backend folder structure

armnn:149855

Change-Id: I26e8cf83422a65049386a5ebdb6d0001627aefaa

5 years agoIVGCVSW-1898 : Ref backend folder structure
David Beck [Mon, 24 Sep 2018 12:18:27 +0000 (13:18 +0100)]
IVGCVSW-1898 : Ref backend folder structure

* Reference backend is renamed to backends/reference as per
  https://confluence.arm.com/display/MLENG/Pluggable+backends

Change-Id: I27a13c274eb60995dfb459e3c49c0e2f60bcd32c

5 years agoIVGCVSW-1821 - taking out scale factor again as it's polluting the WallClockTimer...
Nina Drozd [Thu, 27 Sep 2018 10:53:34 +0000 (11:53 +0100)]
IVGCVSW-1821 - taking out scale factor again as it's polluting the WallClockTimer interface

Change-Id: Ia90b709ddfff321dbc218add4ab19737f68a44bf

5 years agoIVGCVSW-1821 - update NEON workload utils to use timers in correct order, updated...
Nina Drozd [Fri, 21 Sep 2018 17:42:09 +0000 (18:42 +0100)]
IVGCVSW-1821 - update NEON workload utils to use timers in correct order, updated units used in NeonTimer

Change-Id: I593af42bd2930dd9d147354b706087e3ac260fe9

5 years agoIVGCVSW-1927 Add Neon 8-bit FullyConnected support
kevmay01 [Wed, 26 Sep 2018 09:21:55 +0000 (10:21 +0100)]
IVGCVSW-1927 Add Neon 8-bit FullyConnected support

Change-Id: Idf4cc7a9a7d3261b9eceb653b999257506cdae76

5 years agoIVGCVSW-1924: Fixing clframework version update compile err
jimfly01 [Mon, 24 Sep 2018 11:47:14 +0000 (12:47 +0100)]
IVGCVSW-1924: Fixing clframework version update compile err

* Changed run_workloads function invocation to run_workloads_tagged
* Also ClMultiplication now supports QASYMM8

!builder:149820
!android-nn-driver:149821

Change-Id: Id76446aeccf5c0eaae2fd62da34c54a374cc4daa

5 years agoIVGCVSW-1910 Add data layout parameter for DepthwiseConvolution
Nikhil Raj [Tue, 25 Sep 2018 15:16:13 +0000 (16:16 +0100)]
IVGCVSW-1910 Add data layout parameter for DepthwiseConvolution

Change-Id: Ia14c9d8c0a38b669a7589e63d74424e398790e54