Age | Commit message (Collapse) | Author |
|
The output of NECol2Im is already auto-initialized.
This patch is about calling ShapeCalculator instead of computing the shape inside the kernel, adding validate_and_configure_window, and standardize the way convolved dims are passed (now NEON uses Size2D, while CL passes a pair of uint values: using Size2D for both implementations)
Change-Id: I795696e1b6532f57847c3186c1b532c09f5a25da
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145345
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
|
|
Accuracy issue
Change-Id: Ibbce625251524ee5aa62b15ac78ba0f70efcc7bc
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145585
Reviewed-by: Pablo Tello <pablo.tello@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
Change-Id: I46965aeb1fffba8cbf083cab7284c549b0e94d00
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145334
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
|
|
Change-Id: I0358de3a1d84ea2bc1be107694df5fcf847e19e2
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145538
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
Change-Id: I99ebae61024a7bce9d17292a02c28626ae6c29d5
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/144872
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
|
|
Change-Id: I1dd6df9bd4a96cb7cbacce939a89c3a7ccee71c8
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145397
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
On GEMM we had accuracy issue
On Magnitude we have disabled the fp16 acceleration since we do not have feature parity with CL
and this function is not used for ML
Change-Id: Iaebe3bbbd2a9f45db0c714aa5ebaf48eb0b65741
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145467
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
Change-Id: I2f872a34b37e3b667881045d60bd49f148ea4db6
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145424
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
|
|
GCC (>=8) yields warning w/ -Wignored-qualifers (enabled by -Wextra) on
such usage.
Change-Id: Ib3284b60cec0ec4faf8c6e6c1e2980cbf5731973
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145384
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
|
|
Change-Id: Id978c34889b86fa8b9184d3349cc9b12837141a2
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145403
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
Switches default activation layer to the respective datasets to RELU from LOGISTIC
Change-Id: I09f1ad09922ccdd6e1dc33c28a594f7ffbfe40f4
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145436
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
Implemented vinvq_f16 with fp32 data type in order to avoid accuracy issue.
Change-Id: Ibfffd12e4a941c1388a982fc7bbe3e1832351feb
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145416
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
- Fixed GEMMConvolutionLayer test. The issue was related to the tolerance
- Fixed DirectConvolutioNLayer test. The issue was in the convolver_3x3
Change-Id: I9d5b906d7e5e32a0a34300d529d6edb804ac1c4e
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145377
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
Simulates exp function in FP32
Change-Id: Ieffceeab64fda6f466f212b56f794cc44d477afa
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145367
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
Simulates Logistic, Tanh and SoftRelu in FP32
Change-Id: I9950f7636b8ff2f3e054937e5ef414e45dfe06f5
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145357
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
opencl is not available
Change-Id: Ia938df46d5e736ea188c7d5fc2e9f39d5bc8fda5
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145312
Tested-by: Anthony Barbier <anthony.barbier@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
|
|
Change-Id: Iefd175af2f472179d86df5358a1527a79c5666ed
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145182
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
and Queue
Change-Id: I0b0be0a86d43d87ea8225f6d5e5b02b0f80e6e3a
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145034
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
The mismatches are due by the FP16 reference implementation which does not match exactly the fp16
acceleration we have on Mali. The only workaround for this is to introduce a tolerance number.
So if the number of mismatches is greater than 7%, the test fails
Change-Id: Iab7bbee6d77eb5b5fda410c350025060c1cc7724
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/144964
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
Tolerance issue
Change-Id: I50f05f63617bfb364648bb20f6ad41676a79174e
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/144493
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
Using same quantization info and input values range as for ConvolutionLayer.
This needs further investigation to understand why there are mismatches when
using the entire range.
Change-Id: I8c20a341b29a1ac03c811d014911e7efc484c3a6
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/144340
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
|
|
Change-Id: I0bdf874e61917903c26f713ec41a7ffc29e07233
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143892
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
|
|
DepthwiseConvolution
Change-Id: I751f5d3fb74085d2e67f610ecf52da4736d0cfb5
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143870
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
Change-Id: I183e4b7081bf12de3546293a00da68b4f4a0dd5e
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143987
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
Change-Id: I15c7df21773145b03f42b6f78bd7ad2e5b8a5219
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/144126
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
|
|
Increasing the absolute tolerance as values seem to differ by at most 2.
Change-Id: I7f70f432760b64ee6c96a5fdeb34865c0f8f4796
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/144154
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
Change-Id: I13ec79b6668e2b9559d3fa789ae0b51ab6975289
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/139126
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
Decrease large sizes as it leads to std::bad_alloc for some shapes
Change-Id: I274ceb65411c0ddef87f11135d7fdddfc89c7651
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143877
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
Change-Id: I9e9b267ea58fd2339467af6f49ae76e9195cbc61
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143682
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
FP16/QASYMM8
When the GEMM3D check fails, now we fallback to the classic implementation with im2col
and col2im. In this manner the function can work with QASYMM8 and FP16
Change-Id: I359e9da3a63956f33b5acbc9bca4383b14af10e2
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143372
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
Change-Id: I5188a2163e7341f1915d98c21464fea13a9a7faf
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143330
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
|
|
Change-Id: I4afb19751520a90fee27fb49b775cd10e92a94f5
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/140476
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
This causes problems when ACL is used as a shared library on Android.
Fixes some problems related to creation / destruction order between the Graph's CL backend and core / runtime
Change-Id: I716d63fd42f4586df1ffbb6fa97e4db06d3a781b
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143228
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
|
|
Changed RelativeTolerance to Asbsolute for F16/F32 as the values can
be very close to zero for large inputs.
Change-Id: Ibeab9f4e4d218e4ceaad00b1725acc34e80c7afb
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143576
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
Change CLReductionOperation border to be multiple of 64 instead of 16.
The opencl kernel works only with local_size(0) being a power of 2. This will
generate a padding of 63 if input_width % 64 = 1, but I don't think it's a
big issue and it keeps the border calculation pretty simple.
Also, increased tolerance for fp32 because there were mismatches
for the 4K image.
Change-Id: Id44990a262b2d6eff4c8ce56eb7c886274d9847e
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143415
Reviewed-by: Pablo Tello <pablo.tello@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
This changes help to prevent errors like passing a matrix
with less elements than required into the warp functions.
Change-Id: I863f933a5e0568258717cffed3a20788d3d03083
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143044
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
Removing support for uint8_t (QASYMM8) in the reference function that accepts dst_data_type should be enough.
Change-Id: I46a43facf25463a8cbd3c5d5820c2cc06259ff10
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143399
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
QASYMM8
Fixed also a bug in the graph API related to the bias shape in DepthWiseConvolution for NHWC
Change-Id: I275141a42e51f6747b77db1c31d1bc69e8685af5
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143454
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
The flag "ChannelsFirstOutputNHWC" was not set
Change-Id: Id5f64a839d4e86638a07090e971a4f7ee82af349
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143457
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
+ validate() function
Change-Id: I6808de0254a7c4bca440322cc14b795b3b32465b
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/142427
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
Change-Id: Iea248dca88828669b680aeacbbf2b359d2bed304
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143143
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
This patch includes:
- Im2Col optimizations for NHWC using a new data layout
- Refactoring of CLIm2ColKernel adding validation method and auto-init
- Removed im2col_reduced from CLIm2ColKernel and created a new kernel CLFlattenLayerKernel
Change-Id: I1620640b6796baa268324b33ae92cdd8de53e27c
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/141241
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
|
|
Change-Id: Idde333308db71087ec234b3fd1eb4e36a44db46c
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143049
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
The previous implementation of GEMM3D degradated the performance when the
input had to be reinterpreted as 3D. However if both input and output have to be
reinterpreted as 3D, we can skip the offset calculation for that specific case
and run the multi GEMM approach
Change-Id: I0d5d48add2c6ccdebfbb268ea199dd181101f3aa
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/142872
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
Change-Id: I55f0018ac7214775ebbca63f58a3bf5c93732fec
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/142632
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
Skipped im2col in CLGEMMConvolutionLayer for 1x1 convolutions with NHWC data layout
Change-Id: I894e6b952ed8605e8f3ffc0ffc25c24730d4664c
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/141909
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
|
|
Change-Id: I0fa02b8cc9289cfc4c89bea3f2041db938204948
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/142232
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|
|
Alters the ending conditions for y dimension to use the actual end
offset as a bound and not the actual y window as this could be the whole
execution window and can lead to overlapped calculations across threads.
Change-Id: Ic6642bbaa8e85d4a4034a44234d6cb3347a2f4ff
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/142229
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
-Enables cell-to-input weights when !cifg and peephole
-Makes projection bias conditional
Change-Id: Iee866db9f5d8479c2dfd95d74a2d42492bf07a8d
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/140543
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Les Bell <les.bell@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
|
|
Change-Id: I429087f8aa436cf0877c3abec8fd7201bec1b81c
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/141661
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
|