platform/upstream/armnn.git
5 years agoIVGCVSW-2083 - Add DataLayout parameter to calculate the expected output shape in...
narpra01 [Fri, 26 Oct 2018 16:36:32 +0000 (17:36 +0100)]
IVGCVSW-2083 - Add DataLayout parameter to calculate the expected output shape in ValidateTensorShapesFromInputs
 * Convolution2dLayer
 * DepthwiseConvolution2dLayer
 * Pooling2dLayer
 * ResizeBilinearLayer
 * Unittests for ValidateTensorShapesFromInputs

Change-Id: I057caf8a90d822175a7dd7271f960b65c6154bb4

5 years agoIVGCVSW-1896 : SubGraph selector
David Beck [Fri, 26 Oct 2018 15:03:03 +0000 (16:03 +0100)]
IVGCVSW-1896 : SubGraph selector

Change-Id: Iae9a76b10d84d7ba80136b54355f8d37d2df475d

5 years agoIVGCVSW-2069 - Implement NHWC Convolution2D for CpuRef
narpra01 [Fri, 26 Oct 2018 15:24:58 +0000 (16:24 +0100)]
IVGCVSW-2069 - Implement NHWC Convolution2D for CpuRef
 * Calculate index for NHWC to compute Convolution
 * add more unit test for NHWC

Change-Id: I800d649b9b42be2758c445e3b3e76142888c1377

5 years agoIVGCVSW-2081: Move generic backend tests to the backend related CMake files
Aron Virginas-Tar [Fri, 26 Oct 2018 14:37:23 +0000 (15:37 +0100)]
IVGCVSW-2081: Move generic backend tests to the backend related CMake files

Change-Id: Ib642b0c983fed21cf38be8233bd13d86f4bf413d

5 years agoIVGCVSW-2029 Fix fully connected layer support in TfLite Parser and implement test...
Nattapat Chaimanowong [Fri, 26 Oct 2018 09:24:14 +0000 (10:24 +0100)]
IVGCVSW-2029 Fix fully connected layer support in TfLite Parser and implement test for TfLite VGG16 quantized

Change-Id: I2061f62f62684b963fa0f090718f1dcffe5c93ce

5 years agoIVGCVSW-2056 + IVGCVSW-2064 : move ClContextControl to the ClBackend
David Beck [Wed, 24 Oct 2018 16:09:46 +0000 (17:09 +0100)]
IVGCVSW-2056 + IVGCVSW-2064 : move ClContextControl to the ClBackend

Change-Id: Ice19d3f763298bc14585267df389e99df846320d

5 years agoIVGCVSW-2074: SimpleConvolution2dTestImpl updated for NHWC
jimfly01 [Thu, 25 Oct 2018 16:05:05 +0000 (17:05 +0100)]
IVGCVSW-2074: SimpleConvolution2dTestImpl updated for NHWC

* Added a defaulted DataLayoutIndexed argument to the SimpleConvolution2dTestImpl
* Permute test data tensors just before use if necessary
* Add DataLayout to descriptor
* Added a DataLayoutIndexed argument to SimpleConvolution2d3x5TestCommon
* Added NHWC versions of the SimpleConvolution2d3x5Test for Neon and CL

Change-Id: I10e3ece42a50108baeabe4d8b0f0ac3e6d532261

5 years agoIVGCVSW-2051 Fixed the dynamic allocation of the dimSizes array in MeanLayer
Matteo Martincigh [Thu, 25 Oct 2018 15:19:34 +0000 (16:19 +0100)]
IVGCVSW-2051 Fixed the dynamic allocation of the dimSizes array in MeanLayer

Change-Id: I6e39f1e1bc32c0c2c1953da00016edd68c48d4e0

5 years agoIVGCVSW-2057: Remove ARMCOMPUTE(CL/NEON)_ENABLED and ARMCOMPUTENEON_ENABLED from...
Aron Virginas-Tar [Thu, 25 Oct 2018 10:47:31 +0000 (11:47 +0100)]
IVGCVSW-2057: Remove ARMCOMPUTE(CL/NEON)_ENABLED and ARMCOMPUTENEON_ENABLED from src/armnnTfliteParser/test/ParserFlatBufferFixture.hpp

Change-Id: I85c720d37097e0c9a53dc473a7eac09f21deb847

5 years agoIVGCVSW-2058: Remove ARMCOMPUTE(CL/NEON)_ENABLED and ARMCOMPUTENEON_ENABLED from...
Aron Virginas-Tar [Thu, 25 Oct 2018 10:10:49 +0000 (11:10 +0100)]
IVGCVSW-2058: Remove ARMCOMPUTE(CL/NEON)_ENABLED and ARMCOMPUTENEON_ENABLED from src/armnnUtils/ParserPrototxtFixture.hpp

Change-Id: Ief836fb80c4c966f1b76c9429d4a7fb644ceb73d

5 years agoIVGCVSW-2059: Remove CL-specific code from Profiler
Aron Virginas-Tar [Wed, 24 Oct 2018 16:26:17 +0000 (17:26 +0100)]
IVGCVSW-2059: Remove CL-specific code from Profiler

Change-Id: I279986b83c7a38b6d395f8a496382ffaebb9ed08

5 years agoIVGCVSW-2049 + IVGCVSW-2051 Create the CL Mean Float workload and add
Matteo Martincigh [Fri, 19 Oct 2018 15:40:03 +0000 (16:40 +0100)]
IVGCVSW-2049 + IVGCVSW-2051 Create the CL Mean Float workload and add
the unit tests

 * Created the ClFloatWorkload class
 * Added ClMeanValidate validation function
 * Added helper function to convert the reduction axes from the ArmNN
   format to ACL's
 * Added workload tests
 * Added some unit tests
 * These changes need the CL pin to be pointing at least to revision
   88d871028eeae57f9e4536d0329110eccb5e2890 (COMPMID-1574 Implement
   ReduceMean in OpenCL)

!android-nn-driver:155033

Change-Id: I694fd36be0458c90e158172afde045fcc88c32ae

5 years agoIVGCVSW-2073: Move remaining backend-specific tests from armnn to backends
Aron Virginas-Tar [Wed, 24 Oct 2018 14:33:28 +0000 (15:33 +0100)]
IVGCVSW-2073: Move remaining backend-specific tests from armnn to backends

Change-Id: I45fd5b6dd32c435b78a54dc377a623e60978ce13

5 years agoIVGCVSW-1007 Support Inception-V3 and V4 in CaffeParser
Mohamed Nour Abouelseoud [Wed, 24 Oct 2018 10:48:14 +0000 (11:48 +0100)]
IVGCVSW-1007 Support Inception-V3 and V4 in CaffeParser

Removed the kernel dimension/range validation from CaffeParser

Change-Id: I9e63c01fecbaea1448aa203e7212cd4aac854c3d

5 years agoIVGCVSW-2071 : remove GetCompute() from the WorkloadFactory interface
David Beck [Tue, 23 Oct 2018 15:09:36 +0000 (16:09 +0100)]
IVGCVSW-2071 : remove GetCompute() from the WorkloadFactory interface

Change-Id: I44a9d26d1a5d876d381aee4c6450af62811d0dbb

5 years agoIVGCVSW-2067 : dynamically create workload factories based on the backends in the...
David Beck [Tue, 23 Oct 2018 12:35:58 +0000 (13:35 +0100)]
IVGCVSW-2067 : dynamically create workload factories based on the backends in the network

Change-Id: Ide594db8c79ff67642721d8bad47624b88621fbd

5 years agoIVGCVSW-2053: Validate BackendId parameters for the InferenceTest (EndToEnd tests...
Aron Virginas-Tar [Tue, 23 Oct 2018 14:14:46 +0000 (15:14 +0100)]
IVGCVSW-2053: Validate BackendId parameters for the InferenceTest (EndToEnd tests) / ExecuteNetwork

!referencetests:154790

Change-Id: Iaf9608ae1e66460079f2546b30d7fbc9b55bb7dd

5 years agoIVGCVSW-2026 + IVGCVSW-2027 Add FullyConnected Support to TfLiteParser
Sadik Armagan [Mon, 22 Oct 2018 08:04:18 +0000 (09:04 +0100)]
IVGCVSW-2026 + IVGCVSW-2027 Add FullyConnected Support to TfLiteParser

Change-Id: Id48f97ee33e2fd650a1ee3365ef66bdfc514a586

5 years agoIVGCVSW-1823 *Free working mem only when network changes
Derek Lamberti [Tue, 2 Oct 2018 14:52:46 +0000 (15:52 +0100)]
IVGCVSW-1823 *Free working mem only when network changes

Change-Id: I62b34713f8ebd96b9d4369f25cc8ba474aad8bb4

5 years agoIVGCVSW-2060: Separate and move backend specific unit tests from the src/armnn/test...
Aron Virginas-Tar [Mon, 22 Oct 2018 12:32:01 +0000 (13:32 +0100)]
IVGCVSW-2060: Separate and move backend specific unit tests from the src/armnn/test folder to the backends

* Moved backend-specific memory leak checking tests from RuntimeTests.cpp to
  the corresponding backend test folder

Change-Id: I0a7f4ef52c5350c3cebca23b2b4e61a9446ca11f

5 years agoIVGCVSW-2063 Documentation for new operations in TfLite Parser
Sadik Armagan [Mon, 22 Oct 2018 11:32:39 +0000 (12:32 +0100)]
IVGCVSW-2063 Documentation for new operations in TfLite Parser
 * Updated TfLite Parser read me file for new operations added

Change-Id: Idd4dcbe03ee8cd8c65377e03b6e52f3766312b70

5 years agoIVGCVSW-1991 : refactor m_SupportedComputes in DeviceSpecs
David Beck [Mon, 22 Oct 2018 12:16:00 +0000 (13:16 +0100)]
IVGCVSW-1991 : refactor m_SupportedComputes in DeviceSpecs

Change-Id: Ied3d54dc356f5e4f87aeb59f66423ac1f893dd01

5 years agoIVGCVSW-1955: Unify backend exceptions (wrap cl::Error)
Aron Virginas-Tar [Fri, 19 Oct 2018 15:46:15 +0000 (16:46 +0100)]
IVGCVSW-1955: Unify backend exceptions (wrap cl::Error)

* Added wrapper function around arm_compute::IFunction::run() that catches
  cl::Error and wraps it into an armnn::RuntimeException
* Added MakeWorkload template inside ClWorkloadFactory that catches
  cl::Error and wraps it into an armnn::RuntimeException
* Replaced cl::Error with armnn::RuntimeException in catch statements inside
  LoadedNetwork

Change-Id: I2340f41ae02b8db1d7ef5157824a50e7410854e3

5 years agoIVGCVSW-2019 : replace Compute enum in the backend preferences list
David Beck [Fri, 19 Oct 2018 14:20:56 +0000 (15:20 +0100)]
IVGCVSW-2019 : replace Compute enum in the backend preferences list

Change-Id: Ie7549fd27378acfa97e68d098e338b8c9d4ea5d2

5 years agoIVGCVSW-2061: Add ARMNN_SCOPED_PROFILING_EVENT_CL inside ClLstmFloatWorkload::Execute()
Aron Virginas-Tar [Fri, 19 Oct 2018 15:58:08 +0000 (16:58 +0100)]
IVGCVSW-2061: Add ARMNN_SCOPED_PROFILING_EVENT_CL inside ClLstmFloatWorkload::Execute()

Change-Id: Ia3f895474b54e73711feb9795e7d47cbd61f13a3

5 years agoIVGCVSW-2024: Support NHWC for Pooling2D CpuRef
James Conroy [Fri, 19 Oct 2018 09:41:35 +0000 (10:41 +0100)]
IVGCVSW-2024: Support NHWC for Pooling2D CpuRef

* Adds implementation to plumb DataLayout parameter
  for Pooling2D on CpuRef.
* Adds unit tests to execute Pooling2D on CpuRef
  using NHWC data layout.
* Refactors original tests to use DataLayoutIndexed
  and removes duplicate code.

Change-Id: Ife7e0861a886cf58a2042e5be20e5b27af4528c9

5 years agoIVGCVSW-2013 Add a UInt8 Reference Implementation for the PAD Operator
Mohamed Nour Abouelseoud [Thu, 18 Oct 2018 11:26:19 +0000 (12:26 +0100)]
IVGCVSW-2013 Add a UInt8 Reference Implementation for the PAD Operator

Change-Id: I41f3606198db1fda8d72aaf5169594ba9156eb38

5 years agoIVGCVSW-2023 CL and Neon implementation of BatchNorm with NHWC
Nikhil Raj [Thu, 18 Oct 2018 13:27:50 +0000 (14:27 +0100)]
IVGCVSW-2023 CL and Neon implementation of BatchNorm with NHWC

Change-Id: I962e986607e5d045cd97b9eaeaea2f5ae624db35

5 years agoIVGCVSW-2019 : replace Compute enum in the Layer object
David Beck [Thu, 18 Oct 2018 14:13:56 +0000 (15:13 +0100)]
IVGCVSW-2019 : replace Compute enum in the Layer object

Change-Id: I76551d511ef718eac36e5b8e5fe426ec3a402855

5 years agoIVGCVSW-2005: Pull in backend specific unit tests into Android.mk similarly as backen...
Aron Virginas-Tar [Thu, 18 Oct 2018 09:39:38 +0000 (10:39 +0100)]
IVGCVSW-2005: Pull in backend specific unit tests into Android.mk similarly as backend sources

Change-Id: Icafc644b64c591f4dc0e1560d02b806bf053a2da

5 years agoIVGCVSW-2030 and IVGCVSW-2031 Add MaxPooling support and unit test to TfLite Parser
Nattapat Chaimanowong [Wed, 17 Oct 2018 14:19:14 +0000 (15:19 +0100)]
IVGCVSW-2030 and IVGCVSW-2031 Add MaxPooling support and unit test to TfLite Parser

Change-Id: I3aea8ea6d018900682d278f28a50e40cf2f963fe

5 years agoIVGCVSW-2040 Add unit tests for the newly implemented NHWC support in
Matteo Martincigh [Thu, 18 Oct 2018 09:55:19 +0000 (10:55 +0100)]
IVGCVSW-2040 Add unit tests for the newly implemented NHWC support in
ref BatchNormalization

 * Added create workload unit tests for the NHWC data layout

Change-Id: I03d66c88dc9b0340302b85012cb0152f0ec6fa72

5 years agoIVGCVSW-2033 Add unit tests for the newly implemented NHWC support in
Matteo Martincigh [Thu, 18 Oct 2018 09:33:23 +0000 (10:33 +0100)]
IVGCVSW-2033 Add unit tests for the newly implemented NHWC support in
ref Normalization

 * Added create workload unit tests for the NHWC data layout

Change-Id: Id4813105c027a26e277de64fecea1845fea39fd9

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