aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-11-02COMPMID-616 - Optimizing GEMMLowp on NEON intrinsicsGian Marco Iodice
Change-Id: Ibbeff5d37249b6e8fc34ad496035a1511c9da5a3 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/94072 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com>
2018-11-02COMPMID-556 Add macro for checking graph's tensor objectMichalis Spyrou
Change-Id: I1de1c2932c9906b23b49e18bd82c173846d98723 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93860 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com>
2018-11-02Allow running without cl_khr_fp16Matthew Bentham
Change-Id: I0f5396c8f32acc28914e2ff9fe953f977a3077b9 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93405 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02COMPMID-647: Exclude padding pixels from averaging factor.Georgios Pinitas
Adds support for excluding the padding pixels from the average scaling factor calculation. Change-Id: Ia13fbfeae235aff564db74191613921848231a01 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93715 Reviewed-by: Robert Hughes <robert.hughes@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02COMPMID-464 Implement Depthwise convolution 3x3 on NEONMichalis Spyrou
Change-Id: Ie4e1803a52afac6b6c597c6e551729dad2347cd1 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/92607 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com>
2018-11-02COMPMID-575: Port Magnitude to new validationJohn Richardson
Change-Id: I2600947bef30853d00adfa4b919dbcb860de9bfd Reviewed-on: http://mpd-gerrit.cambridge.arm.com/91717 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02IVGCVSW-619: Support for Cl u8 bounded ReluMichel Iwaniec
Change-Id: I3c39ecbd36f06d5376c35ed4eb38dd73533ef97e Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93686 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-554 Add NodesMichalis Spyrou
- BatchNormalization - DepthConvert - Dequantization - Flatten - Quantization - Reshape Change-Id: Ie01a04b7a6cc8e2b5481cf2345268e6871580d7f Reviewed-on: http://mpd-gerrit.cambridge.arm.com/91618 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-576: Port Phase to new validationJohn Richardson
Change-Id: Ice08031c997cf8162a4358deb059db857ede2382 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93585 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-556: Autoconfigure support in CLDepthwiseConvolution.Georgios Pinitas
Change-Id: I697d3237b39d0f088b820c14b65cfcbbd2e26e09 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93412 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02COMPMID-556: Static helper function for getting gws from window.Georgios Pinitas
Change-Id: I3e47385b2f7a7977c2c61272f2fb30e800f39406 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93429 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-630: Rework nodesGeorgios Pinitas
Reworked node: -BatchNormalization -Floor -FullyConncted -L2Normalize -Normalization -Pooling -Softmax Change-Id: I4c71cfffb1f59aac3326ba8b1f831339c5244394 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93134 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-556: Cherry-picked minor fixes from GithubAnthony Barbier
- Added --api 21 to documentation - Removed include of a runtime header in Core - cherry-picked 2 small fixes from Github commit 869d424d6fd5df7b15a858f2c5f853536f7a0aca Author: giorgio-arena <arena.cpp@gmail.com> Date: Mon Oct 23 16:58:59 2017 +0100 Update 00_introduction.dox commit f054c210e493111061a458b887f7c4edaca06a9f Author: Forrest Iandola <fiandola@gmail.com> Date: Mon Oct 16 00:44:24 2017 -0700 fix comment typo kernerl's --> kernel's Change-Id: I0a3893148a9565acbfd18d340da41845ce3ad44f Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93460 Reviewed-by: Pablo Tello <pablo.tello@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02IVGCVSW-657 : fix asymmetric padding for 3x3 depthwise convJaroslaw Rzepecki
Change-Id: Ied6b3c41d988b9ff6a93f938117dc29ad4c85e9f Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93421 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02COMPMID-634: Enable clang with libc++ to compile for Android (32 and 64 bits)Ioan-Cristian Szabo
Change-Id: I693f64e70cd478e93675a8b04360128ded3b60d4 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93015 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-481: Optimized and cleaned up NEGEMMInterleaveBlockedKernel.Pablo Tello
Change-Id: Ia0fd86341bed7bb9022891544fa449f828dfba75 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/91746 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-648: Fix initial value for MAX pooling for QS types in CL.Georgios Pinitas
Initial value was set two times for QS type in the generic case in pooling_layer.cl Change-Id: Iddaad0bb48852388cf5e92d764150404454ac46e Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93238 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02COMPMID-630 : Rework nodes for selective target compilation.Georgios Pinitas
Reworked nodes: -ActivationLayer Change-Id: Iaa394531ef208db48caa2c18a41ad9a845471f94 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/92281 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-643: Add bias to CLDepthwiseConvolution.Georgios Pinitas
Change-Id: Ibfe7b8c1172d10cbcae7971fe86b82090519d31d Reviewed-on: http://mpd-gerrit.cambridge.arm.com/92798 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Jaroslaw Rzepecki <jaroslaw.rzepecki@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-485: Offset-based memory manager support.Georgios Pinitas
Adds support for offset-based memory mappings used from CPU system memory and SVM based allocations. Change-Id: Ibee6a3c02a61df9b11fe8878cfe40dc6fd9a4be0 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/88307 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-640: FullyConnectedLayer failures on both NEON/CLGeorgios Pinitas
Change-Id: Idd830cff054114123229c189e423b753b8064146 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/92623 Reviewed-by: Robert Hughes <robert.hughes@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-641: Fix NENonLinearFilter invalid read.Georgios Pinitas
NENonLinearFilter was reading out-of-bounds for 5x5 disk configuration. Changed to load within bounds and shift the vector appropriately later on. Change-Id: Ieb63312200af4c8989776d2b9188e0f3128e4853 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/92726 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-556: Fix CLPoolingLayer checksGeorgios Pinitas
Change-Id: Ib76554adf00fb3c1943da634dc948089843f0e78 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/92439 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-556: Disable GEMMLowp tests until we've got the intrinsics version ↵Anthony Barbier
merged Change-Id: Ie7bf46a157358ed64b4397002b10f583e7740c69 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/92367 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02COMPMID-619: Logging interfaceGeorgios Pinitas
Change-Id: I73d1433ee7a682aeabb7540aa2ea1f6564f90aae Reviewed-on: http://mpd-gerrit.cambridge.arm.com/91775 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02IVGCVSW-601: support for asymetric padding in cl conv and depthwise convJaroslaw Rzepecki
Change-Id: I5c6c95091ae77dba96459c0640f9f6167a988c8c Reviewed-on: http://mpd-gerrit.cambridge.arm.com/91700 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02COMPMID-550: Adds support for branches.Georgios Pinitas
Change-Id: I778007c9221ce3156400284c4039b90245eb2b7f Reviewed-on: http://mpd-gerrit.cambridge.arm.com/90043 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02IVGCVSW-632 CL support for Softmax beta parameterPablo Palmier
Change-Id: I21da48d2f40aa900301235eaced54b7eb644b0b2 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/91307 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-569 - Implemented reference implementation and validation tests ↵Isabella Gottardi
(NEON and CL) for Median3x3 Change-Id: I7028f0bcc4a502261210f536ed604a7651ab6726 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/91332 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-481: Add gemmlowp_aarch64_v8p4 kernel.Pablo Tello
Change-Id: I15496b16ffd636f5bff76572e750df7e15c80830 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/90532 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02COMPMID-470: Neon Deconvolution.Pablo Tello
Implemented by up-sampling the input with zeros insertions between the input samples and convolving the Deconvolution kernels on the up-sampled result. The upsampling is performed by the function NEDeconvolutionLayerUpsample. Convolving is done by NEDirectConvolutionLayer. Change-Id: I25f7ba7c6b99cd9310797972ede40aeff4a54900 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/85319 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-618: Fix mismatches in CLDepthConvert OclgrindGeorgios Pinitas
Out-of-bounds float to integer conversion is implementation defined. Oclgrind converts to S32 and truncated while GPU converts S32 and clamps. We force to always SATURATE for float to int conversion. Change-Id: I82be9e8cdcc49b32adb8c0da064542b63f891666 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/91512 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
2018-11-02COMPMID-554 Add NodesMichalis Spyrou
- BatchNormalization - L2Normalize - Floor Change-Id: I03e06dea30e956f56a86f9c5642cd609c6696ad2 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/91364 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-549 Create a Logger for GraphAPIMichalis Spyrou
Change-Id: If912d8232e12cd496923d55d386898450dac09e2 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89897 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-606 - Fix for S8 failuresGian Marco Iodice
Added volatile to the for loop counter in direct_convolution1x1.cl, direct_convolution3x3.cl and direct_convolution5x5.cl This fix seems to solve the problem on Samsung S8 about the mismatches and clEnqueueMapBuffer. Change-Id: I51687ec94bb897af2698ceab1133c988821e4c4e Reviewed-on: http://mpd-gerrit.cambridge.arm.com/90601 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02COMPMID-601: Add GraphContextGeorgios Pinitas
GraphContext hold all the information about the hints that need to be passed in the nodes. As these might expand, it serves as a centralized class for such information. Change-Id: I0b5527630fb97cc5fa500db0bac8307ff2ea36e6 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/90300 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-603: Fix OMPScheduler.Georgios Pinitas
Adds ThreadInfo in the OMPScheduler. Change-Id: I760ff9ea8af0431e024b4a4b1fc77ff88980f51a Reviewed-on: http://mpd-gerrit.cambridge.arm.com/90158 Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-556 - Fix ConvolutionLayer testGian Marco Iodice
Change-Id: I8035cfd2b7fd62bd9f79f2a7d4b59f3e2bbe9163 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89988 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-417: Add grouping in convolution layerGeorgios Pinitas
-Adds grouping support in convolution layer -Adds Normalization layer node in graph -Adds alexnet example -Fixes FullyConnectedLayer output autoconfigure (works only for 1d batch space) Change-Id: I5bd75f9a8b08cfd68f7c34745150266c2bc4221f Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89518 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-463 - Extended Pooling Layer on NEON to support Global PoolingGian Marco Iodice
Change-Id: I8ae44187624deeab3d40d878e7b34ff651f1dad0 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89834 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02COMPMID-546 Add auto config to depth concatenatesteniu01
Change-Id: I7798a56677d541338a73e3888ed0a2cfe0375794 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89726 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPUTE-8024 Fixed the maximum OpenCL workgroup sizeAbel Bernabeu
The maximum workgroup size depends on the kernel and the device, rather than being a property of the device. The present patch fixes the case when a kernel is queued with no workgroup size and the default workgroup size is used instead. A previous patch introduced a maximum workgroup size that depended on the device but ignored the kernel. In OpenCL the maximum workgroup size we query from the device is an upper bound of the actual maximum that we can query for a given kernel running on the same device. For some kernels the values will match, but for others we will get a lower value when querying for an specific kernel (i.e. if the kernel uses a high number of registers). Change-Id: I3bed6bde80ddc4f0ddb8f82c80903774aa1999b6 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89471 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-417 Updated build system to not combined objects of the different ↵Anthony Barbier
levels of library Until now we had: core = core_obj arm_compute = core_obj + arm_compute_obj graph = core_obj + arm_compute_obj + graph_obj But if an application link against more than one of these libraries then bad things happen. Added version strings in the runtime library too (As it used to only be in Core objects) Updated doxygen for how to compile the examples Change-Id: I7aad6ecf75cfa8dca59f2ea093e13fb0314a3eb4 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89743 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02COMPMID-417 Fix bare metal build for armv7aMichalis Spyrou
Change-Id: I566a41061b75c3a1dad5374fcdc84372e6cfbe89 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89670 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID417 - Fix illegal scalar access in color_convert.clGian Marco Iodice
Change-Id: If70bba00bb4451251cbc21058dfecff2c0d106de Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89641 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-417 - Added NEFlattenLayer functionGian Marco Iodice
Change-Id: I919c3352bf22bb41df2928be291be754c0518d3f Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89536 Reviewed-by: Pablo Tello <pablo.tello@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02COMPMID-545 add CL printf supportsteniu01
Change-Id: I685a68e7bc8d2cdff19851d839f244206b3d5790 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89391 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-417 - Added validation for FP16 CLBatchNormalizationLayerGian Marco Iodice
Change-Id: Icc6194a311af0e96978e6be2cc4c5da9d7fb0bcc Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89493 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Reviewed-by: Steven Niu <steven.niu@arm.com>
2018-11-02COMPMID-417: Fix memory manager in NEConvolution.Georgios Pinitas
Incorrect logic was leading to an object being registered for managing but was never needed. Change-Id: I1682f7840f5d47ed856d60d3c0ee458a097e6b98 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89496 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
2018-11-02COMPMID-417: Fix border and window in CLGEMMMatrixVectorMultiplyKernelGeorgios Pinitas
Change-Id: I2eacba2c87bce84b7f6b69a734ff775473f990bc Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89401 Reviewed-by: Steven Niu <steven.niu@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>