aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core/CL
AgeCommit message (Collapse)Author
2018-11-02COMPMID-811 Add NHWC data format support for CL depthwise convolutionGiorgio Arena
Change-Id: I574f7945f0be009c638d860028bce8b52b4120fd Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/136484 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-1201 - Implementing Winograd Convolution Layer 1x3 and 3x1 kernels ↵Gian Marco Iodice
on OpenCL Change-Id: I39667bab49daa4da009694163274a59fd3574c73 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/137595 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Giorgio Arena <giorgio.arena@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1336: Add CLArithmeticAddition support for QASYMM8Michele Di Giorgio
Change-Id: Ice2bb644841fdea4e776872ff5481eb927e66bd1 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/137714 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1204 Add NHWC data format support to Winograd input transform 4x4_5x5Giorgio Arena
Change-Id: I3dffdd1772b78db27a4374f074a24a15a9552189 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/134859 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1204 Add NHWC data format support to Winograd filter transform 4x4_5x5Giorgio Arena
Change-Id: I09adb8493fd2c438871c3d734cadf4b950c24d25 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/134822 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1204 Add NHWC data format support to Winograd output transform 4x4_5x5Giorgio Arena
Change-Id: Id6dece059b521e50ef546c3ee2883acedf8e3b1c Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/134760 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1246 CLDepthwiseConvolution QASYMM8 NHWC kernel cleanupGiorgio Arena
Change-Id: If9385e6bcbf2242b973f42d6979b16ebc39f2cb4 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/136159 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-1048 Add NHWC data format support to Winograd input transform 4x4_3x3Giorgio Arena
https://confluence.arm.com/display/MLENG/Winograd+Input+Transform%3A+NCHW+vs+NHWC+on+OpenCL Change-Id: Iac35a54389266701b7d8f5434a7a37df85b7b187 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/133315 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-911: Allow GEMM to work with 3D tensorsIsabella Gottardi
Change-Id: I8c4823a0d909e19e9ef548f00b9ae98c66de61dd Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/123569 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1222 Implementing CLArithmeticDivision - FP32 / FP16Michalis Spyrou
Change-Id: I2e3f725ef5ed1454755086b9640ab84a81f4d40e Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/135170 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-801: NHWC support in CLIm2Col.Pablo Tello
And extended tests coverage adding kernel shapes 3x1, 1x5 and 7x7 Change-Id: Ia7c1d4da2368d5f5fbc1a41187f4ac1aca5f150f Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/127727 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-1048 Add NHWC data format support to Winograd filter transform 4x4_3x3Giorgio Arena
Change-Id: Ifd125fcb5451dbac3c28b15a9471048a74fee0ad Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/128987 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-817: Tuner: Port kernels to new design.Georgios Pinitas
Change-Id: Iaabb1153c2abe0400ec79d51a21347debe92d642 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/134062 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1048 Add NHWC data format support to Winograd output transform 4x4_3x3Giorgio Arena
https://confluence.arm.com/display/MLENG/Winograd+Output+Transform%3A+NCHW+vs+NHWC+on+OpenCL Change-Id: I6995f5cef759ba70ebd96d545b952041b6f1f36e Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/128729 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-799 - Use new OpenCL 8-bit dot product instructionMichalis Spyrou
Change-Id: I03d6c6db13bcb565f117725bdab2b68c89a49e21 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/122185 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-813 Add NHWC data format support for CL scaleMichalis Spyrou
Change-Id: Ie218447c4f3f94a37b5dd2d3b33488c7f5869adf Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/128520 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1083 : Compute library should be made usable on non-ARM platformsVidhya Sudhan Loganathan
Added * Compile time switches for kernels using FP16 extensions * Validation for support of atomics extension Change-Id: Ia88e601db054ff35f1508988b5e322bd27511ac5 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/133216 Reviewed-by: Pablo Tello <pablo.tello@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-655 : Check FP16 is supported by the GPUVidhya Sudhan Loganathan
Change-Id: I507b04680a4e88426b682bd0be03bccb560ec78d Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/132589 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1176: Add FP16 support in CLDeconvolutionLayer.Georgios Pinitas
Change-Id: Ic82ca002220fa31d8618a55084ff1dfc2585bea7 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/131944 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Vidhya Sudhan Loganathan <vidhyasudhan.loganathan@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1137 OpenCL concatenate widthMichalis Spyrou
Change-Id: I40faba421281b1cf080fa6a825d04a4366cdaeb0 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130700 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1122: Don't try to retrieve the list of devices from a null contextAnthony Barbier
Change-Id: Ib50b1e4f4464e9386a69eb631c187ad5b1130aa7 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130859 Reviewed-by: Derek Lamberti <derek.lamberti@arm.com> Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1086: Optimizing GCGEMM - Add helpers to get target GPU informationMichele Di Giorgio
This patch moves some of the helper functions in CLHelpers.[h,cpp] to GPUTarget.[h,cpp] in order to make them avaialable to both CL and GLES backends. Change-Id: Ib89b05a2084b73eb643b32fac13b8367cc80b6a5 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/128988 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-948: Add validation to CLL2NormalizeLayerJohn Richardson
Change-Id: I452a718a60b81da51cd3e98641fd99c86c4debab Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/129451 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-1050 CL/NEON: Create a function to convert the 2D weights of FC ↵Giorgio Arena
layer from NHWC to NCHW and viceversa Change-Id: If77ffeb92b6eb883e5d2d2c97c2c4d1d23d17c8d Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/129257 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1052 - Rework validate method in CLGEMMGian Marco Iodice
Change-Id: Iece5bd6478b5fac5164abff30c1e63e8a77291a9 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130374 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1068 Create validate method to CLDepthWiseConvolutionGiorgio Arena
Change-Id: I3301b66a8a072c6ecd0d7f2dabef350017b55ac4 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/128677 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1122: Store the cl_context only in one placeAnthony Barbier
Change-Id: I39a8dd34a27f9f891397d58af36bd5f9d152281e Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130358 Reviewed-by: Pablo Tello <pablo.tello@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1125: Add support for FP16 in CLDepthwiseConvolutionMichele Di Giorgio
Change-Id: I4838f5a8e4c33ed646cd05e0bb682fca635a29a3 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130469 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
2018-11-02COMPMID-1107: Add support for ChannelShuffle in CLMichele Di Giorgio
Change-Id: I56d2a02b316f0c69ff1fd7220e732f775414fe69 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/129709 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Giorgio Arena <giorgio.arena@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-926 Add depth multiplier support to NEON/CL/GLES depthwise convolutionGiorgio Arena
Change-Id: I03f32c62350e5ea43e77bb15fc5a832d83719e3b Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/126657 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1043: Rework GCGEMMMatrixMultiplyKernel interface and allow auto ↵Michele Di Giorgio
initialization of the tensors This patch also: - removes support for already reshaped weights in GCConvolutionLayer - makes GCConvolutionLayer similar to CLGEMMConvolutionLayer - enables usage of the GCGEMM function in GCConvolution instead of calling the GEMM kernels directly Change-Id: I3e4a64335555e86e18585d38d8fda4bfdb44e265 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/127696 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-959 Refactor OpenCL interceptors to use lambda functionsAnthony Barbier
Change-Id: I29b73a311d7278255b77524f2a5eaaa4dccab711 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/128392 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-855: Get the library to work on non Mali GPUsAnthony Barbier
Change-Id: Ia6a7b7a9d8b10ebf6b3c6a0fffa10bdf5dd8d8ef Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/128381 Reviewed-by: Pablo Tello <pablo.tello@arm.com> Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1026 - Add support for 4x4 output tile in CLWinogradConvolutionLayerGian Marco Iodice
The performance achieved can be found at the following confluence page: https://confluence.arm.com/display/MLENG/GEMM-based+convolution+vs+Winograd-based+convolution+on+OpenCL Change-Id: I4b690cfdd4eb4ff0cd17b14fdd49ccaa1d1dc85c Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/127729 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-987: Make beta and gamma optional in BatchNormalizationMichele Di Giorgio
Currently we have beta and gamma compulsory in Batch normalization. There are network that might not need one or both of those. Thus these should be optional with beta(offset) defaulting to zero and gamma(scale) to 1. Will also reduce some memory requirements. Change-Id: I15bf1ec14b814be2acebf1be1a4fba9c4fbd3190 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/123237 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-577: Implement CL validation for GaussianPyramidSanghoon Lee
Change-Id: If879cbe15b14d97818c24d44b29fc69b6c8cb686 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/127601 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-959: Add accessors for the OpenCL program cacheAnthony Barbier
Change-Id: I7920ecdf6687341cbcf4d75aecc15c4164c64636 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/127722 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-811 Add NHWC data format support for CL depthwise convolution QASYMM8Giorgio Arena
Change-Id: I89de432f3fbcba7abf9e1d4f8396a4334b4fa2c2 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/118324 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-1013 - Create WinogradInfo data structureGian Marco Iodice
COMPMID-1014 - Refactoring Winograd's dataset Change-Id: I6abdcbf9a90d663f4db666cd410afece9f1d034d Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/125899 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-994 : Check cl_arm_printf is supported in the CLSchedulerVidhya Sudhan Loganathan
Introduced static and dynamic checks before using printf vendor extension features (callbacks and buffers) Change-Id: Ib38cb3d8591bbb482d02a41918f4b52efde75267 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/126751 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-797: Switch to new graph.Georgios Pinitas
- Cleaned up build system Change-Id: If2faa27ee5b31fa8b972836960ab3ef671059c8d Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/126435 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com>
2018-11-02COMPMID-734: CLTuner reworkGeorgios Pinitas
Change-Id: I8f20d6ea8a09869d71003e7b08e0d33775282f6c Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/125802 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1017: Implement dilated convolution in NEON, OpenCL, and GCAlex Gilday
Change-Id: If4626ec9e215e14dffe22e80812da5bac84a52e2 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/125734 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-337: Adding OpenCL SVM support.Pablo Tello
Change-Id: I250d6a1daeccf91d97b6da65aec53b02cf6046a7 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/116140 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1019 Implement copy function CLMichalis Spyrou
Change-Id: Ica17528bf6c812d9caf9d66c612c11434ec1dc69 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/125542 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1008: Fix Doxygen issuesAlex Gilday
Change-Id: Ie73d8771f85d1f5b059f3a56f1bbd73c98e94a38 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/124723 Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1009 Support 4x4 output tile for Winograd Filter Transform on OpenCL.Giorgio Arena
Change-Id: I68c6453e0f192de659582404f109a89616b9fbb9 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/124811 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-935 - Implementing Convolution with Winograd on OpenCL (part 4)Gian Marco Iodice
Implemented Winograd Output Transform (2x2,3x3) on OpenCL Implemented CLWinogradConvolutionLayer on OpenCL Change-Id: I6a113fc5f052ca07f878d2b800d2ab003f84af65 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/125148 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-754: Add validation to LocallyConnected and NEDeconv layersAlex Gilday
Change-Id: Ifed8713f4d7f1315af684b30d11323db2b533f10 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/121783 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
2018-11-02COMPMID-853 Fuse CL DepthwiseConvolution with Activation for QASYM8Giorgio Arena
Change-Id: I287908f76af458ad4b4d865d353dc37e33877250 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/120839 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>