platform/upstream/armcl.git
4 years agoForce early exit of threads when output_height=1 and channels=1 in assembly pooling
Michele Di Giorgio [Wed, 27 Jan 2021 16:22:05 +0000 (16:22 +0000)]
Force early exit of threads when output_height=1 and channels=1 in assembly pooling

Resolves COMPMID-4156, COMPMID-4125

Change-Id: I408e51e9759448e6190490975ccab2c1bc07a813
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4927
Reviewed-by: TeresaARM <teresa.charlinreyes@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoMake Gpu Elementwise Operations kernels and functions state-less
Michele Di Giorgio [Mon, 25 Jan 2021 15:44:02 +0000 (15:44 +0000)]
Make Gpu Elementwise Operations kernels and functions state-less

Partially resolves COMPMID-4004

Change-Id: Ie99b6c676af5be4c2a67affc06fec378f3dff8ec
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4918
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoFix NEON/CL CustomConvolution failures
Manuel Bottini [Tue, 26 Jan 2021 12:09:38 +0000 (12:09 +0000)]
Fix NEON/CL CustomConvolution failures

Properly handle UNDEFINED border mode as done in the reference

Change-Id: I23b117be3ee5cd0e566f6161681d38493627fc9b
Resolves: COMPMID-4133
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4919
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoMake CLArithmeticSubtraction kernel and function state-less
Michele Di Giorgio [Mon, 25 Jan 2021 11:49:03 +0000 (11:49 +0000)]
Make CLArithmeticSubtraction kernel and function state-less

Resolves COMPMID-4008

Change-Id: Ic5f40610e771f31e6d301dfae976c81e9c79fa8b
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4917
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoRemove iostream header file when not needed
Gian Marco Iodice [Tue, 26 Jan 2021 10:15:05 +0000 (10:15 +0000)]
Remove iostream header file when not needed

Change-Id: Ic6b3e94fc252c2d6fe17e6bc32900d11c68ae399
Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4916
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoMake CLArithmeticAddition kernel and function state-less
Michele Di Giorgio [Fri, 22 Jan 2021 15:42:59 +0000 (15:42 +0000)]
Make CLArithmeticAddition kernel and function state-less

Resolves COMPMID-4006

Change-Id: Iddc32b0b250142aac9a4a7b9dc0eef462d196025
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4913
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Sang-Hoon Park <sang-hoon.park@arm.com>
4 years agoRename functions/classes for elementwise unary operations
Sang-Hoon Park [Fri, 22 Jan 2021 11:55:03 +0000 (11:55 +0000)]
Rename functions/classes for elementwise unary operations

* Create CpuElementwiseUnary operator
* Rename kernel classes
* Make the kernels stateless

Partially implements: COMPMID-4003

Change-Id: Ie0440cd01d4924847d6991b4df7ccaf311439297
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4912
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoCTS Failures in Android CpuAcc in Add
Teresa Charlin [Mon, 25 Jan 2021 10:19:14 +0000 (10:19 +0000)]
CTS Failures in Android CpuAcc in Add

* Fusing the activation into Addition is not supported in CpuAcc. Armnn
uses this validate function to decide if fusion is supported.

Resolves COMPMID-4121

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I78cec326057eada32c2bf7d0e8d64a4af5854cd9
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4911
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoRename functions/classes for elementwise operations
Sang-Hoon Park [Mon, 18 Jan 2021 14:20:27 +0000 (14:20 +0000)]
Rename functions/classes for elementwise operations

* Create CpuElementwise operator
* Rename kernel classes
* Make the kernels stateless

Partially implements: COMPMID-4003

Change-Id: I4ef9c61a3acc3ac5dbe46463d62dcb88a5face21
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4881
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Sheri Zhang <sheri.zhang@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoFix Scale CTS failures
Sheri Zhang [Wed, 20 Jan 2021 12:20:20 +0000 (12:20 +0000)]
Fix Scale CTS failures

- Move back to use template for NEON implementaion to be more mantainable

Resolves: COMPMID-4112

Signed-off-by: Sheri Zhang <sheri.zhang@arm.com>
Change-Id: I27b60674d743e3d7ec5bb065898cb75cb40bcf0e
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4900
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-by: Manuel Bottini <manuel.bottini@arm.com>
4 years agoCheck for unsupported armv7a optimized pooling kernels
Michele Di Giorgio [Fri, 22 Jan 2021 11:21:13 +0000 (11:21 +0000)]
Check for unsupported armv7a optimized pooling kernels

Resolves COMPMID-4136

Change-Id: I3c1f9e615cb2d2c48464ac5b7dbf0a26dc435889
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4906
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoFixed segfault NEDeconvLayer due to overflow.
Pablo Marquez Tello [Wed, 20 Jan 2021 15:02:59 +0000 (15:02 +0000)]
Fixed segfault NEDeconvLayer due to overflow.

* The CTS test TestRandomGraph/RandomGraphTest#SmallGraph_TENSOR_FLOAT16_Rank4/43 segfaulted when
  running on CpuAcc + 8-2a.

* Added a guard against overflow in DeconvLayer::validate

* Resolves: COMPMID-4115

Change-Id: I6687b67dbde3921a2795224e8107a9add9d358ff
Signed-off-by: Pablo Marquez Tello <pablo.tello@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4890
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoUpdate Fp16 heuristic for Mali-G76 and Mali-G77
Gian Marco Iodice [Thu, 21 Jan 2021 12:23:22 +0000 (12:23 +0000)]
Update Fp16 heuristic for Mali-G76 and Mali-G77

Change-Id: I199c10574d0d84737adbc73829f60a220c7088b4
Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4897
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoCTS failures in Android R and Q in GpuAcc in ArgMinMax
Giorgio Arena [Thu, 21 Jan 2021 14:53:56 +0000 (14:53 +0000)]
CTS failures in Android R and Q in GpuAcc in ArgMinMax

- Fix ambiguosity with select in OpenCL
- Define a new macro for signed integer data type of the same input data type's size. This is needed because some ops (e.g. logical operators) in OpenCL work in this way

Resolves: COMPMID-4116, COMPMID-4110

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: I560eda63fce24abd03d061f78f2f2ca951053fd0
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4898
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoAdd window parameter to scheduler
Sang-Hoon Park [Wed, 20 Jan 2021 18:16:47 +0000 (18:16 +0000)]
Add window parameter to scheduler

To support window configured outside of
kernels, the parameter is added to scheduler.
The existing operators pass window from
kernels to preserve the current behavior.

Partial Implements: COMPMID-4003

Change-Id: I4514e12fb5b0c60e4adfc1a51e53a8a5de356a0d
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4892
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
4 years agoMake CLFloor and CLActivation kernels and functions state-less
Georgios Pinitas [Fri, 15 Jan 2021 09:29:50 +0000 (09:29 +0000)]
Make CLFloor and CLActivation kernels and functions state-less

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: Icbe4e6a7c6732a59bdda0136af44c4852452dfd1
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4891
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoCheck for FP16 CPU support in optimized pooling kernels
Michele Di Giorgio [Thu, 21 Jan 2021 10:12:17 +0000 (10:12 +0000)]
Check for FP16 CPU support in optimized pooling kernels

Resolves COMPMID-4123

Change-Id: I0c3c852c9d887cffc0d2e65142f75204ab5e3ff4
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4894
Reviewed-by: TeresaARM <teresa.charlinreyes@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoFix softmax SVE compiling failure without SVE2 support
Sheri Zhang [Thu, 21 Jan 2021 09:35:17 +0000 (09:35 +0000)]
Fix softmax SVE compiling failure without SVE2 support

Resolves partially: COMPMID-3891

Signed-off-by: Sheri Zhang <sheri.zhang@arm.com>
Change-Id: I1f08746c44146f4d6ad3e48bcc3d1d2470fd156e
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4893
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoMake Sub kernel and operator stateless
Sheri Zhang [Wed, 13 Jan 2021 15:54:05 +0000 (15:54 +0000)]
Make Sub kernel and operator stateless

- Rename NEArithmeticSubstractionKernel to CpuSubKernel and move files appropriately

- Add CpuSub under src/runtime/cpu/operators

Partially resolves: COMPMID-4007

Signed-off-by: Sheri Zhang <sheri.zhang@arm.com>
Change-Id: I4754ca9101d82dccacca744be6d069764a9c6b55
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4868
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Pablo Marquez Tello <pablo.tello@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoIntegrate improved pooling layer on NEON
Michele Di Giorgio [Tue, 27 Oct 2020 10:56:31 +0000 (10:56 +0000)]
Integrate improved pooling layer on NEON

Resolves COMPMID-4035

Change-Id: I559f8c4208fba9193dfe5012f03ddaf26c746215
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4855
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoMake all CL Concatenate kernels and functions state-less
Michele Di Giorgio [Mon, 18 Jan 2021 21:15:59 +0000 (21:15 +0000)]
Make all CL Concatenate kernels and functions state-less

Resolves COMPMID-3995

Change-Id: I84172bed20924f1d9ae3b4d14d7b321e9494296e
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4887
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
4 years agoUpdate documentation for SVE/SVE2 support
Sheri Zhang [Wed, 6 Jan 2021 11:15:06 +0000 (11:15 +0000)]
Update documentation for SVE/SVE2 support

Resolves: COMPMID-4078

Signed-off-by: Sheri Zhang <sheri.zhang@arm.com>
Change-Id: I755c39063766421df2d41fc9589abd52295fb020
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4875
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
4 years agoDirect convolution fix for quantized data type
Gian Marco Iodice [Tue, 19 Jan 2021 17:39:02 +0000 (17:39 +0000)]
Direct convolution fix for quantized data type

- Pass the quantized zero value to the opencl kernel

Fixes COMPMID-3908

Change-Id: I6454c2e49f5b150a99178f2d72e0afa0a2990b54
Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4884
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoFix doxygen references to new kernels
Michele Di Giorgio [Tue, 19 Jan 2021 15:29:02 +0000 (15:29 +0000)]
Fix doxygen references to new kernels

Resolves COMPMID-4117

Change-Id: I9945a92402e34b9cfe0ba9ef2a961b168bf62721
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4883
Reviewed-by: Pablo Marquez Tello <pablo.tello@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoMake memset/copy functions state-less
Georgios Pinitas [Sun, 10 Jan 2021 04:23:52 +0000 (04:23 +0000)]
Make memset/copy functions state-less

Port following functions:
- NECopy
- NEFill
- NEPermute
- NEReshapeLayer

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I75f3f837012abab79c7dde9a20a34f64f75571d8
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4800
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoRemove padding from direct convolution - OpenCL
Gian Marco Iodice [Sat, 2 Jan 2021 09:58:51 +0000 (09:58 +0000)]
Remove padding from direct convolution - OpenCL

- Refactor direct convolution for NHWC
- Remove old kernels for NHWC
- Change the heuristic in CLConvolutionLayer.cpp. The new direct
  convolution implementation is faster than FFT

Resolves COMPMID-3908

Change-Id: Iee15ce7b04e21847b6eaae5c6d3c1b18180e7efc
Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4876
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
4 years agoMake Add kernel and operator stateless
Sheri Zhang [Tue, 12 Jan 2021 18:25:16 +0000 (18:25 +0000)]
Make Add kernel and operator stateless

- Rename NEArithmeticAdditionKernel to CpuAddKernel Cpu and move files appropriately

- Add CpuAdd under src/runtime/cpu/operators

Partially resolves: COMPMID-4005

Signed-off-by: Sheri Zhang <sheri.zhang@arm.com>
Change-Id: I1d8d406df9773fea198899f50327407d7125c38d
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4867
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
4 years agoLOGICAL_NOT fail
Teresa Charlin [Mon, 18 Jan 2021 10:28:12 +0000 (10:28 +0000)]
LOGICAL_NOT fail

Explicitly cast scalar to vector for LOGICAL_NOT

Related with COMPUTE-12536 and IVGCVSW-5617

Change-Id: I03accce000f8889fc4fb88c42c3c87845acb4f42
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4874
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoMake Concatenate kernels and operator stateless
Georgios Pinitas [Sun, 10 Jan 2021 04:07:39 +0000 (04:07 +0000)]
Make Concatenate kernels and operator stateless

- Rename all concatenate kernels to use the Cpu prefix and move
appropriately

Change-Id: If647173e84969936ebd211d4d5ae6d1e73150bdc
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4799
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
4 years agoAdd SVE for Softmax
Michalis Spyrou [Wed, 6 Jan 2021 17:40:30 +0000 (17:40 +0000)]
Add SVE for Softmax

Implements COMPMID-3875

Change-Id: I38991eed3f4966db125862af066bfedff5994a25
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4854
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoDecouple data types of elementwise kernels
Sang-Hoon Park [Mon, 18 Jan 2021 09:41:37 +0000 (09:41 +0000)]
Decouple data types of elementwise kernels

Partially implements: COMPMID-4003

Change-Id: Ie51e43e24fb9a6b5b96d13cdc3d72fbda027a68b
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4873
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoCycle estimate-based kernel selection for dot product quantized s8/u8 kernels
Georgios Pinitas [Thu, 14 Jan 2021 13:43:40 +0000 (13:43 +0000)]
Cycle estimate-based kernel selection for dot product quantized s8/u8 kernels

Resolves: COMPMID-3990

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: If840c79209940535450f4ea1cbf6b0ec646a168e
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4866
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoAdd explicit cast to fix gcc10 build error
Sang-Hoon Park [Fri, 15 Jan 2021 14:36:25 +0000 (14:36 +0000)]
Add explicit cast to fix gcc10 build error

With v8.6 arch flags, gcc10 fails to build due to
type of the argument doesn't match to its template
argument. This is fixed by adding explicit casting.

Resolves: COMPMID-4096

Change-Id: Ifc86c4b9afeb43594ea3b758de417dbdc1394880
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4872
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoAdd missing std headers
Sang-Hoon Park [Thu, 14 Jan 2021 14:52:03 +0000 (14:52 +0000)]
Add missing std headers

Missing std headers - limits, algorithm, cstddef - are added
where they have to be.

Partially implements: COMPMID-3808

Change-Id: Ia31f75370f8440dcb753e5ac6eb2eac18e9c63f3
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4861
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoIntroduce threshold for NEON floating-point SOFT_RELU activation
Michele Di Giorgio [Thu, 14 Jan 2021 16:17:48 +0000 (16:17 +0000)]
Introduce threshold for NEON floating-point SOFT_RELU activation

Large inputs produce incorrect results of Soft ReLu activations where
the output saturates at around 88.72283. This is due to the
approximation algorithm used for the logarithm.

For this reason, we introduce a threshold such that with x > threshold,
Soft ReLu activation will return the value x itself.

SVE does not seem to suffer from the same issue, hence NEON kernels only
are modified.

Resolves COMPMID-4091

Change-Id: I357883deed4e4aba571a1d3163267772096c0412
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4865
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoRelease winograd transformed weights if not needed on NEON
Georgios Pinitas [Fri, 15 Jan 2021 09:42:26 +0000 (09:42 +0000)]
Release winograd transformed weights if not needed on NEON

GEMM function used within NEWinogradLayer re-transforms the weights
after the original winograd transformation leading to double allocation
of the weights. Release appropriately and retain only one copy of the
weights, the last transformed one.

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I60459bfe370bff453150dfe9536cd9e7a5b56def
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4862
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoFix build error for gcc 10.2+
Sang-Hoon Park [Thu, 14 Jan 2021 14:50:25 +0000 (14:50 +0000)]
Fix build error for gcc 10.2+

- Add -Wno flag for graph build environment
- Use std::fill_n instead of memset

Partially implements: COMPMID-3808

Change-Id: Ibed1f81c2cee8bcb12a6a0aa3fa5030d3a201d69
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4860
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years ago[Nightly Failure] Fix DeconvolutionLayer OpenCL kernel compilation
Giorgio Arena [Fri, 15 Jan 2021 09:58:09 +0000 (09:58 +0000)]
[Nightly Failure] Fix DeconvolutionLayer OpenCL kernel compilation

- Add case for VEC_SIZE == 3 in the TRANSPOSED_U macro

Resolves: COMPMID-4094

Change-Id: I31870e589e66d895f9bf65c87aa04f32038365c0
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4864
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoAdd support for Armv8-R AArch64 build
Sang-Hoon Park [Thu, 14 Jan 2021 14:54:14 +0000 (14:54 +0000)]
Add support for Armv8-R AArch64 build

Implements: COMPMID-3808

Change-Id: I37c001eb0c50385b103b2cd9e6ee945aa6727096
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4859
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoRemove OpenCL padding CLTransposeKernel
Manuel Bottini [Tue, 5 Jan 2021 11:36:16 +0000 (11:36 +0000)]
Remove OpenCL padding CLTransposeKernel

By handling more general NxM blocks (where M and N can be 1,2,4,8,16)
instead of only 4x4, 8x8, 16x16 and managing corner left values with
partial stores

Resolves: COMPMID-3923

Change-Id: I49b1a560c8325e00e061bd04edcf55034d04dcd8
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4780
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoAdd missing INTEGER type in nn driver
Michalis Spyrou [Thu, 14 Jan 2021 13:24:05 +0000 (13:24 +0000)]
Add missing INTEGER type in nn driver

Resolves COMPMID-4082

Change-Id: Ib425839ab92efa1484f93a33b0d71529a99f1a46
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4856
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoAdd support for macOS
Georgios Pinitas [Wed, 30 Dec 2020 00:03:09 +0000 (00:03 +0000)]
Add support for macOS

* Add 'macos' as an additional OS build option
* Guard unsupported paths like thread scheduling control and hwcaps
checking with the __APPLE__ macro
* Map linker options to respective Mach-O linker options

Change-Id: I67bd9fa3c20831427b218ca7d3b4b9d454ab4fec
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4788
Reviewed-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoFix wrong file inclusion in QLSTMLayerNormalization reference
Georgios Pinitas [Wed, 13 Jan 2021 15:20:53 +0000 (15:20 +0000)]
Fix wrong file inclusion in QLSTMLayerNormalization reference

Alter to include AsymmHelpers.h instead of AsymmHelpers.cpp

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: Ib8c470c232d70b011b3c307a4b2c8ab0ca782708
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4851
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoAdd tolerance for quantized activations computed in float
Michele Di Giorgio [Tue, 12 Jan 2021 13:49:07 +0000 (13:49 +0000)]
Add tolerance for quantized activations computed in float

Some of the activation functions need complex mathematical operations
and are implemented by dequantizing to float, performing the activation
in the float domain and requantizing back. In such cases, the results
may differ slightly between reference and optimized code.

In fact, when running validation through valgrind we get a difference of
1 in the results and therefore, an absolute tolerance of 1 is added to
the tests.

Resolves: COMPMID-4067

Change-Id: Ic2eca5616371b0a324a246d40b515ddc9f576e61
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4841
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoAlter tolerance in QuantizationLayer to use int8_t for asymmetric signed
Georgios Pinitas [Wed, 13 Jan 2021 14:42:54 +0000 (14:42 +0000)]
Alter tolerance in QuantizationLayer to use int8_t for asymmetric signed

Tolerance values passed to the validation process of QuantizationLayer
for int8_t quantized types were in unsigned format leading in wrong
interpretation of negative values. Thus, alter the tolerance type to
use int8_t instead.

Resolves: COMPMID-4090

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I82388a6e59cc91ca5093f0c665267b620523b122
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4848
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoRemove padding for CLArgMinMaxLayerKernel and fix CLRange mismatches
Giorgio Arena [Mon, 11 Jan 2021 15:31:15 +0000 (15:31 +0000)]
Remove padding for CLArgMinMaxLayerKernel and fix CLRange mismatches

- Cast the destination pointer to (__global DATA_TYPE*) when VEC_SIZE == 1 in range.cl

Resolves: COMPMID-3906, COMPMID-4093

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: Ic0a334d98785ea434ed81f89dbe34e7674991f82
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4792
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
4 years agoAdd SVE2 kernels for quantized elementwise operations
Sang-Hoon Park [Mon, 11 Jan 2021 22:19:49 +0000 (22:19 +0000)]
Add SVE2 kernels for quantized elementwise operations

Partially implements: COMPMID-3872

Change-Id: I76d81f2b8aa343f9d830298bc931e410c7c901bc
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4842
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
4 years ago[Nightly Failure] Fix CLDepthwiseConvolutionLayer 3x3 QASYMM8 on Midgard
Giorgio Arena [Tue, 12 Jan 2021 11:29:18 +0000 (11:29 +0000)]
[Nightly Failure] Fix CLDepthwiseConvolutionLayer 3x3 QASYMM8 on Midgard

- Add checks for pad top/bottom bigger than (kernel size / 2)

Resolves: COMPMID-4088

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: Ifc5ea2154847d447bc5643d7607e7256aeddfcbf
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4840
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoRemove OpenCL padding CLFloorKernel
Manuel Bottini [Fri, 8 Jan 2021 15:57:11 +0000 (15:57 +0000)]
Remove OpenCL padding CLFloorKernel

Use of proper vector size with boundary checking loads and stores

Resolves: COMPMID-3922

Change-Id: Ib631d499603b860fcfdbe3da903b866a125359a8
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4789
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoAdd SVE support for non-quantized elementwise operations
Sang-Hoon Park [Thu, 7 Jan 2021 16:59:32 +0000 (16:59 +0000)]
Add SVE support for non-quantized elementwise operations

SVE kernels are added to all previously supported arithmetic
and comparison operations with exception of S16 arithmetic
operations due to complexity of widening and narrowing of
integer vectors.

Partially implements: COMPMID-3872

Change-Id: Ic433eb7227dfcfd0d1429f18acebec2d934ca8bd
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4778
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoAdd SVE support and decouple data type for NEScaleKernel
Sheri Zhang [Tue, 5 Jan 2021 12:48:45 +0000 (12:48 +0000)]
Add SVE support and decouple data type for NEScaleKernel

- Decouple data type for NEON NHWC implementation, supported data types are: fp32, fp16, u8, s16, qasymm8, qasymm8_signed.

- Add SVE support for NHWC and all six data types showed above.

Resolves: COMPMID-3873

Change-Id: I097de119f4667b28b025a78cadf7185afa5f15f0
Signed-off-by: Sheri Zhang <sheri.zhang@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4766
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Pablo Marquez Tello <pablo.tello@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoAdd meta-data to express dynamic shapes in ITensorInfo
Georgios Pinitas [Fri, 8 Jan 2021 03:14:31 +0000 (03:14 +0000)]
Add meta-data to express dynamic shapes in ITensorInfo

Add `get_tensor_shape_state` and `set_tensor_shape_state` to inject
shape dynamism.
The state is represented by an array of integers which index maps to the
respective shape dimension index.
If -1 is passed as a dimension state then the corresponding dimension
is dynamic.

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I3a8a5ad109b90d4df8545b460a9f8dfcc13dfa0f
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4784
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoMake CpuActivation stateless
Georgios Pinitas [Fri, 8 Jan 2021 17:25:55 +0000 (17:25 +0000)]
Make CpuActivation stateless

- Rename NEActivationLayer to CpuActivation
- Add member function to generate execution window

Partially Resolves: COMPMID-3992

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I4e1ae15cf456b860d3080b2fedc4dbcce7d1bb79
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4791
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
4 years agoRemove OpenCL padding: CLROIAlignLayerKernel
Manuel Bottini [Fri, 8 Jan 2021 17:14:39 +0000 (17:14 +0000)]
Remove OpenCL padding: CLROIAlignLayerKernel

Add padding checks in configure

Resolves: COMPMID-3914

Change-Id: Ia5be67283402d8811ceb3007be3a666ab502d775
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4787
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years ago[Nightly Failure] Fix NEIm2Col argument validation errors
Giorgio Arena [Thu, 7 Jan 2021 16:35:05 +0000 (16:35 +0000)]
[Nightly Failure] Fix NEIm2Col argument validation errors

- Permute input shape if NHWC for Im2Col's fixture

Resolves: COMPMID-4081

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: I9a46569f1cb2c09932ffb1b0afda6d66e93452de
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4777
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoMake CpuFloorKernel kernel stateless
Georgios Pinitas [Wed, 6 Jan 2021 19:42:21 +0000 (19:42 +0000)]
Make CpuFloorKernel kernel stateless

- Rename NEFloorKernel to CpuFloorKernel to accomodate new ISA
implementations
- Remove state and instead pass tensors to operate during run
- Add member function to generate an execution window given an input and
output tensor description

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I9240b8ec534589c0f15c354f771f1ac5d7010c3b
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4773
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
4 years ago[Nightly Failure] Fix OpenCL kernel compilation for CLRange
Giorgio Arena [Thu, 7 Jan 2021 14:01:47 +0000 (14:01 +0000)]
[Nightly Failure] Fix OpenCL kernel compilation for CLRange

- Change raw pointers in OpenCL kernel to __global uchar*

Resolves: COMPMID-4079

Change-Id: Ieeb99ced565bef59583216fd274958b29c7b2758
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4774
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Pablo Marquez Tello <pablo.tello@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoResolve merge conflicts between new fills and new fp16 generator
Giorgio Arena [Fri, 8 Jan 2021 10:37:15 +0000 (10:37 +0000)]
Resolve merge conflicts between new fills and new fp16 generator

Resolves: COMPMID-4083

Change-Id: Ia1b595d972854ede7ff4104183d014ac6afe30d1
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4782
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoGeneralization of CLTuner
Manuel Bottini [Wed, 18 Nov 2020 17:56:30 +0000 (17:56 +0000)]
Generalization of CLTuner

Rename lws to tuning parameters in functions used externally
Add new generalized objects for the OpenCL Tuner to accommodate
further possible tuning parameters

Resolves: COMPMID-3935

Change-Id: I0f2a0f89bca5dae4a4e4adce2f7c7cae32ecb84a
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4584
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
4 years agoAdd an SVE implementation of the Leaky ReLU activation function for qasymm8 and signe...
arngra01 [Mon, 4 Jan 2021 14:28:40 +0000 (14:28 +0000)]
Add an SVE implementation of the Leaky ReLU activation function for qasymm8 and signed qasymm8 data.

Change-Id: I9249e7d4871d473cb5083d2225950faad6056eb4
Signed-off-by: Arnaud Grasset <arnaud.grasset@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4763
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoFix fill() for FP data type in fixtures - Part 2
Giorgio Arena [Thu, 17 Dec 2020 16:47:07 +0000 (16:47 +0000)]
Fix fill() for FP data type in fixtures - Part 2

Resolves: COMPMID-4056

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: I6623eb9c0e66e52af4e0e9fb386031f4a09125b7
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4722
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years ago[Nightly Failure] Fix ColorConvert empty coordinates error
Giorgio Arena [Thu, 7 Jan 2021 14:40:12 +0000 (14:40 +0000)]
[Nightly Failure] Fix ColorConvert empty coordinates error

Resolves: COMPMID-4080

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: Ide91b337e09bd162002b1e68d121da81fc8986f7
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4775
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoAdd SVE support to elementwise unary kernels
Sang-Hoon Park [Tue, 8 Dec 2020 18:50:56 +0000 (18:50 +0000)]
Add SVE support to elementwise unary kernels

It also includes decoupling of kernels using different
data types.

Partially implements: COMPMID-3872

Change-Id: I226cb9e55a5d9f8a0c63e37631f087af45f2d640
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4711
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
4 years agoReview all shapes in datasets to account for padding removal Part 3
SiCong Li [Tue, 17 Nov 2020 09:41:13 +0000 (09:41 +0000)]
Review all shapes in datasets to account for padding removal Part 3

* Add the following configurations for stressing padding removal:
    * size = 1
    * size = multiple of processing size
    * size = non-multiple of processing size

Resolves COMPMID-3865

Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: I2e0e6d4da129f64ba23cf7b9e0fa1fa1ad93efc3
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4440
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
4 years agoGeneralize custom uniform generator for floating point data types with 16 bits
Giorgio Arena [Wed, 6 Jan 2021 11:34:57 +0000 (11:34 +0000)]
Generalize custom uniform generator for floating point data types with 16 bits

- Change name of uniform_real_distribution_fp16 to uniform_real_distribution_16bit, and make it also accept bfloat16 data type

Resolves: COMPMID-4057

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: Id2f1a84b9c9f09cb260a0785add4fc5954d5853a
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4768
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoClean up macro definitions in arm_compute headers
Giorgio Arena [Wed, 6 Jan 2021 15:13:08 +0000 (15:13 +0000)]
Clean up macro definitions in arm_compute headers

- Expose loose macros by prefixing "ARM_COMPUTE_"

Resolves: COMPMID-3701

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: I4334b01c1a5cd8585f4a1ba2d870be956c61a83d
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4769
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoFix Doxygen references
Michele Di Giorgio [Tue, 5 Jan 2021 16:14:28 +0000 (16:14 +0000)]
Fix Doxygen references

Some references are no longer valid because the kernels/functions have
been removed.

Change-Id: Iccfaabb678a4b2709442e4eb827800e63ea47b05
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4764
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoCOMPMID-3874: Create ArithmeticAddition SVE/SVE2
Michalis Spyrou [Tue, 8 Dec 2020 21:02:16 +0000 (21:02 +0000)]
COMPMID-3874: Create ArithmeticAddition SVE/SVE2

Change-Id: I4ec7561a7f6a42a22b8187968ae302dbe75023bc
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4753
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoFix uniform_real_distribution_fp16 warning and single Dimension increment
Giorgio Arena [Tue, 5 Jan 2021 09:46:16 +0000 (09:46 +0000)]
Fix uniform_real_distribution_fp16 warning and single Dimension increment

- Change uniform_real_distribution_fp16's arguments to float to avoid maybe-uninitialized warnings in half data type's copy constructor and converter
- Add increment method to Dimensions in order to avoid possible overflows when incrementing single dimensions
- Remove internal_only flag documentation

Resolves: COMPMID-4061

Change-Id: I7c50487193bd7b47b03d52fc595840c7df4e7104
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4760
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoCOMPMID-4076: ArmNN unittest failure with memory access voilation in FuseReLUIntoBatc...
Sheri Zhang [Mon, 4 Jan 2021 17:14:23 +0000 (17:14 +0000)]
COMPMID-4076: ArmNN unittest failure with memory access voilation in FuseReLUIntoBatchNormFloat32CpuAccTest

1. Fix fusable and non-fusable configuration issue
2. Fix FP16 issue

Signed-off-by: Sheri Zhang <sheri.zhang@arm.com>
Change-Id: I6d0eacca7ac437f236ad403ddb283c10c8f419a6
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4761
Reviewed-by: Pablo Marquez Tello <pablo.tello@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoImprove NEIm2Col validation for invalid shapes
Georgios Pinitas [Thu, 31 Dec 2020 15:35:17 +0000 (15:35 +0000)]
Improve NEIm2Col validation for invalid shapes

Ensure that Im2Col transformation is valid for the given input
meta-data. In more detail, validate that the combination of input shape,
padding and kernel width leads to a valid execution window and output
shape.

Resolves: COMPMID-4040

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: Id813373b2efdfdfbe71dc0d0acc1d7bf8ecd5e84
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4757
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoRemove OpenCL padding: CLPadLayerKernel
Giorgio Arena [Wed, 23 Dec 2020 11:55:29 +0000 (11:55 +0000)]
Remove OpenCL padding: CLPadLayerKernel

Resolves: COMPMID-3912

Change-Id: I1f8bd3bfec263ebfd70bc96f9183ccdc3089db13
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4754
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
4 years agoAdd utility functions for SVE
Sang-Hoon Park [Tue, 8 Dec 2020 18:42:19 +0000 (18:42 +0000)]
Add utility functions for SVE

- Few bit-width dependent intrinsics are added.
- Few math functions are added.

Partially implements: COMPMID-3872

Change-Id: Ia6ab46bd170fec9c7c8d4410b7ef4d84710b68ed
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4718
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoFix FFT FP16 failures for some OpenCL compilers
Giorgio Arena [Mon, 21 Dec 2020 09:22:14 +0000 (09:22 +0000)]
Fix FFT FP16 failures for some OpenCL compilers

- Fix unsupported native_cos and native_sin for half data types. Change to regular cos and sin functions.

Resolves: COMPMID-4064

Change-Id: Id07fa0fd811e00a93f5b848636ad4f4481e9a409
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4730
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
4 years agoRemove unused tolerance value
Michalis Spyrou [Tue, 29 Dec 2020 11:32:23 +0000 (11:32 +0000)]
Remove unused tolerance value

COMPMID-4075 This caused nightlies builds to fail

Change-Id: I9603997dc46306d5446708ab9453af54f573fe78
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4756
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoCOMPMID-3871: Create BatchNormalization SVE/SVE2
Sheri Zhang [Tue, 15 Dec 2020 20:25:31 +0000 (20:25 +0000)]
COMPMID-3871: Create BatchNormalization SVE/SVE2

1. Decouple data type for NHWC
2. Add NHWC SVE support for BachNormalization

Signed-off-by: Sheri Zhang <sheri.zhang@arm.com>
Change-Id: I0383b969b555b429d9acebb4efa17ecba9429ea7
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4755
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
4 years agoFix baremetal arm_compute_validation build errors
SiCongLi [Fri, 11 Dec 2020 15:07:53 +0000 (15:07 +0000)]
Fix baremetal arm_compute_validation build errors

* Add -C flag to instruct preprocessor not to strip comments. This is to
prevent marker comments like '// fall through' that suppresses certain
warnings from being removed.

* Fix unused variable warnings.

* Add M_PI definition that's missing from certain toolchain standard
libraries.

Resolves COMPMID-4054

Change-Id: I1d641db668685d4b678f3d0efed84bfe9e630b4b
Signed-off-by: SiCongLi <sicong.li@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4692
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoFix Select errors at OpenCL kernel compile time
Giorgio Arena [Mon, 21 Dec 2020 09:33:49 +0000 (09:33 +0000)]
Fix Select errors at OpenCL kernel compile time

- Fix erroneously typed pointers. Raw OpenCL pointers should be defined as pointing to 8bit values and then used with a cast to their true pointer types, due to offset calculation with strides

Resolves: COMPMID-4065

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: I7e792bc22fbbc2ab6b65a8f5c4dc599f63e657a6
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4731
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoCreate fill functions available everywhere for easy debugging
Giorgio Arena [Tue, 15 Dec 2020 17:15:43 +0000 (17:15 +0000)]
Create fill functions available everywhere for easy debugging

Resolves: COMPMID-3817

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: I56aae55b653a60a26bb0c6c86b786bccf9ddb793
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4702
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
4 years agoAdd new shapes in WinogradOutputTransform dataset
Giorgio Arena [Mon, 14 Dec 2020 11:07:01 +0000 (11:07 +0000)]
Add new shapes in WinogradOutputTransform dataset

Review the new dataset and edit it accordingly with CLWinogradOutputTransform's contraints

Resolves: COMPMID-4043

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: Idfab1538d0299fa6704831b17522c6696ac84a51
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4695
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
4 years agoRemove OpenCL padding CLScaleKernel
Manuel Bottini [Thu, 3 Dec 2020 16:26:35 +0000 (16:26 +0000)]
Remove OpenCL padding CLScaleKernel

Resolves COMPMID-3918

Change-Id: I970b1eaf2ae6f2f5a8cfc318cd1a3dfd3ba36fdb
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4668
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
4 years agoAdd new shapes to WinogradInputTransform dataset and fix border size for NCHW data...
Giorgio Arena [Mon, 14 Dec 2020 10:50:50 +0000 (10:50 +0000)]
Add new shapes to WinogradInputTransform dataset and fix border size for NCHW data layout

Fix border size for CLWinogradInputTransformKernel with NCHW data layout by setting it to the input's paddings. Add new the new validation shapes to the WinogradInputTransform's dataset

Resolves COMPMID-4042

Change-Id: Id93ac86e75c94ea3f2f35edcedebafada928f34a
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4694
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
4 years agoAdding no padding check asserts to specific CL Kernels
Manuel Bottini [Wed, 16 Dec 2020 15:34:25 +0000 (15:34 +0000)]
Adding no padding check asserts to specific CL Kernels

Resolves COMPMID-3905

Updates following kernels::
- CLDeconvolutionLayerUpsampleKernel
- CLDeconvolutionReshapeOutputKernel
- CLInstanceNormalizationLayerKernel
- CLMaxUnpoolingLayerKernel
- CLPermuteKernel
- CLQLSTMLayerNormalizationKernel
- CLReorgLayerKernel
- CLReverseKernel
- CLSpaceToBatchLayerKernel
- CLSpaceToDepthLayerKernel
- CLGenerateProposalsLayerKernel
- CLFFTDigitReverseKernel
- CLFFTRadixStageKernel
- CLFFTScaleKernel
- CLFillBorderKernel
- CLGatherKernel
- CLStridedSliceKernel
- CLBoundingBoxTransformKernel

Change-Id: I067ec670ff9cceadb1dfbf60dabef311a567d99a
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4713
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoFix fill() for FP data type in fixtures - Part 1
Giorgio Arena [Tue, 15 Dec 2020 15:45:43 +0000 (15:45 +0000)]
Fix fill() for FP data type in fixtures - Part 1

Resolves: COMPMID-4050

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: I182548bf4b944c499a7134ac005b137877e61baf
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4700
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoRemove 3rdparty submodule and internal_only build option
Michele Di Giorgio [Wed, 18 Nov 2020 15:29:08 +0000 (15:29 +0000)]
Remove 3rdparty submodule and internal_only build option

Remove 3rdparty submodule and allow to build external tests, examples
and benchmarks using the Compute Library test framework.

In order to use this option, the external tests directory must have the
following structure:

EXTERNAL_TESTS_DIR:
└── tests
    ├── benchmark
    │   ├── CL
    │   ├── datasets
    │   ├── fixtures
    │   └── NEON
    └── validation
        ├── CL
        ├── datasets
        ├── fixtures
        └── NEON

Then, the user can build the library with
`external_tests_dir=<PATH_TO_EXTERNAL_TESTS_DIR>`.

Also, remove internal_only build option". Without the 3rdparty
submodule, this build option is no longer needed.

Resolves: COMPMID-3417, COMPMID-3419

Change-Id: Ib7bf8ec7b9b9317fd82012a96bf4a7b0be846c1b
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4704
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoNeuralNetwork VTS tests LOGICAL_AND and LOGICAL_OR fail with R29
Teresa Charlin [Wed, 16 Dec 2020 13:19:03 +0000 (13:19 +0000)]
NeuralNetwork VTS tests LOGICAL_AND and LOGICAL_OR fail with R29

Explicitly cast scalar to vector for LOGICAL_AND and LOGICAL_OR

Resolves COMPUTE-12536

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Iabdf7feaef9cb9b41a2fc78e73473ebcfcc3e091
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4706
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Manuel Bottini <manuel.bottini@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoCOMPMID-3919: Remove OpenCL Padding CLSelectKernel
Manuel Bottini [Tue, 8 Dec 2020 12:33:30 +0000 (12:33 +0000)]
COMPMID-3919: Remove OpenCL Padding CLSelectKernel

Change-Id: I07222a9eb03c785bb63414f581152267b133e9fc
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4699
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
4 years agoAddress RVO issue on some compilers
Georgios Pinitas [Wed, 21 Oct 2020 17:33:36 +0000 (18:33 +0100)]
Address RVO issue on some compilers

Suppresses pessimizing-move during clang compilation as for some gcc
toolchains RVO is not ensured until C++17 thus an explicit call to
std::move might be required to avoid compilation error for non-copyable
ojects (e.g. std::unique_ptr)

Resolves: COMPMID-3599

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: Ie3fa44fb0cf631655aecbeb6c82021a68f500a33
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4230
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoCOMPMID-3870: Create ActivationLayer SVE/SVE2
Michalis Spyrou [Sun, 22 Nov 2020 00:49:42 +0000 (00:49 +0000)]
COMPMID-3870: Create ActivationLayer SVE/SVE2

Adds support for ActivationLayer for SVE and SVE2.
Datatypes supported:
*FP32
*FP16
*QASYMM8
*QASYMM8_SIGNED
*QSYMM16

Change-Id: Ia3583891795cda4ca2f9fa27c440731a5c27710d
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4566
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoCOMPMID-3968 30% regression on FSSD v1 25 Grayscale
Giorgio Arena [Mon, 23 Nov 2020 17:47:23 +0000 (17:47 +0000)]
COMPMID-3968 30% regression on FSSD v1 25 Grayscale

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: Ib1ecd7aa10fec0b7e2b3d929e212c1af34c0f58d
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4533
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoEnable FFT for FP16
Giorgio Arena [Thu, 10 Dec 2020 16:49:39 +0000 (16:49 +0000)]
Enable FFT for FP16

Resolves: COMPMID-4051

Change-Id: I0c0bf97212dd281c19d5081e6247e7dc0c23cd6b
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4687
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoAllow TensorShape to increment num_dimensions for new unit dimensions, without correction
Giorgio Arena [Fri, 11 Dec 2020 13:39:02 +0000 (13:39 +0000)]
Allow TensorShape to increment num_dimensions for new unit dimensions, without correction

Resolves: COMPMID-4053

Change-Id: Ie0b58b393e07518deb2c1fe4f82cbf0ce257f39a
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4691
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: SiCong Li <sicong.li@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoRemove (CL/NE)UpsampleLayer in favor to (NE/CL)Scale
Georgios Pinitas [Wed, 9 Dec 2020 03:11:53 +0000 (03:11 +0000)]
Remove (CL/NE)UpsampleLayer in favor to (NE/CL)Scale

Upsample functions and kernels can be replaced with the Scale as they
provide same functionality

Partially resolves: COMPMID-3996

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: Ic2f9ba352c183aa87d69d551d5c172d0f22119e8
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4679
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years ago[Review Shape] CLDepthwiseConvolutionLayer mismatches
Giorgio Arena [Tue, 8 Dec 2020 14:34:00 +0000 (14:34 +0000)]
[Review Shape] CLDepthwiseConvolutionLayer mismatches

- Fixed a bug that corrected the number of dimensions of a TensorShape for added trailing 1s
- Avoided adding offset_first_element for the Depthwise 3x3 NCHW OpenCL kernels, since it wouldn't align with the window which is based on the output
- Adjusted padding requirements along the x for Depthwise 3x3 NCHW. The kernel should always add 2 * dilation_(x/y) to the num_elems_read_x/y
- Adjusted the kernel's border_size given to the border handler at function level
- Added the dataset that previously made the tests fail

Resolves: COMPMID-4041

Change-Id: Ifab7d38b263f12173fcc96a5f0bd3375756c3c53
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4673
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: SiCong Li <sicong.li@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
4 years agoCOMPMID-3921: Remove OpenCL Padding CLBitwiseKernel
Manuel Bottini [Wed, 2 Dec 2020 13:22:14 +0000 (13:22 +0000)]
COMPMID-3921: Remove OpenCL Padding CLBitwiseKernel

Adding BitwiseOperation enum class
Generalizing CL Bitwise kernels with a single CLBitwiseKernel
Removing CL padding from CLBitwiseKernel

Change-Id: I79cd79c1e425b6da7d52308a420edf8cfb7a5a36
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4646
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoRemove (NE/CL)YoloLayer support
Georgios Pinitas [Fri, 4 Dec 2020 15:51:34 +0000 (15:51 +0000)]
Remove (NE/CL)YoloLayer support

YOLO layer is too specialized and specific to a single model type. Can
be decomposed using split, activation and concatenate layers

Partially Resolves: COMPMID-3996

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I3cde88f8d4cc7d8c70ce1bb3b32b00f8d09bdca2
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4678
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
4 years agoMove NEGEMMAssemblyDispatch as an internal function
Georgios Pinitas [Thu, 3 Dec 2020 18:51:58 +0000 (18:51 +0000)]
Move NEGEMMAssemblyDispatch as an internal function

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I89ee26c1595d510c5048904cae9422528b76cd45
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4662
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoFix invalid arguments error for cl_gemmlowp* examples without arguments
SiCong Li [Thu, 3 Dec 2020 14:52:53 +0000 (14:52 +0000)]
Fix invalid arguments error for cl_gemmlowp* examples without arguments

* Pass QASYMM8 as default argument for cl_gemmlowp examples

* Fix the (arbitrary) quantization info to be the same across tensors to
avoid quantization information mismatch issue

Resolves COMPMID-4044

Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: I14aa6648bbebdcd9b0bb77c47b46c27aa79d6253
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4650
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

4 years agoEnable SVE2 based assembly kernels when building for SVE2
Georgios Pinitas [Mon, 7 Dec 2020 20:52:55 +0000 (20:52 +0000)]
Enable SVE2 based assembly kernels when building for SVE2

Sve2 kernels are guarded by -DSVE2, thus needs to be passed during
compilation for them to be included.

Resolves: COMPMID-3891

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I8ecb2f2289f2aa5a31958285f56e151019c9b9d6
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4666
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
4 years agoWrap Flatten layer over reshape
Georgios Pinitas [Thu, 3 Dec 2020 20:37:43 +0000 (20:37 +0000)]
Wrap Flatten layer over reshape

Flatten layer is lowered into a Reshape layer.
Remove (CL/NE)FlatternLayerKernel.

Partially Resolves: COMPMID-3996

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: Id9e2ddfe2e2dd793541badff3490c05e4c908f88
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4660
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>