aboutsummaryrefslogtreecommitdiff
path: root/utils/Utils.cpp
AgeCommit message (Collapse)Author
2020-07-09COMPMID-3324: Adjusting capitalization of Arm copyright claim to reflect Arm ↵Michele Di Giorgio
preferred presentation Change-Id: Ib7dcfcbb24b408999dfae366b9da396485aacf78 Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3525 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Georgios Pinitas <georgios.pinitas@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
2020-05-13Introduce CL kernel cache featureInki Dae
This patch introduces CL kernel cache feature for NN runtimes such as ARMNN or other in-house versions. Originally, this feature came from utils/Utils.cpp and utils/Utils.h files but was used just for testing. Caching CL kernel binaries is mandatory and required for real product because inference performance at first run is one of very important factors. This patch exposes two API - save_program_cache_to_file and restore_program_cache_from_file so that NN runtimes can use these API to cache the compiled CL kernel binaries. Changelog v1. - Reordered including headers suggested by Manuel Bottini. - Updated description. Changelog v2. - Drop function descriptions. Changelog v3. - Fix build error with opencl = 0. As for this, it moves two functions, save_program_cache_to_file and restore_program_cache_from_file, to src/runtime/CL/Utils.cpp and arm_compute/runtime/CL/Utils.h, and set ARM_COMPUTE_CL flag only when opencl = 1. This change makes CL kernel cache feature to depend on OpenCL support. Changelog v4. - Fix coding_standard_checks error. Changelog v5. - Add a new cpp file to Android.bp to fix coding_standard_checks error. Changelog v6. - rebased on top of master, and dropped _new_built_programs_map object so it adds compiled CL kerne binaries per model to a given file. Changelog v7. - Correct descriptions. - Correct arm_compute/runtime/CL/Utils.h file description. - Correct src/runtime/CL/Utils.cpp file description. - Drop ARM_COMPUTE_CL ifdef ~ endif from examples/cl_cache.cpp - Do not add 'ARM_COMPUTE_CL' flag at SConscript. Change-Id: I8c640fb1809ca79191daf5b1ff72a50dd492c36d Signed-off-by: Inki Dae <inki.dae@samsung.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/2914 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
2019-10-17COMPMID-2486: Remove/add disabled compiler warningsMichalis Spyrou
Removed the following flags: -Wno-vla -Wno-strict-overflow Added: -Wformat-security Change-Id: I49eb3d724e14db796e543164295674617c37cb65 Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com> Reviewed-on: https://review.mlplatform.org/c/2109 Tested-by: Arm Jenkins <bsgcomp@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
2019-10-16COMPMID-2486: Remove disabled compiler warningsMichalis Spyrou
Removed the following flags: -Wno-format-nonliteral: This had a side effect on Error.h that resulted in rewriting most of the macros. Since I was at it I removed all the va_args in order to comply with DCL50-CPP. -Wno-deprecated-increment-bool -Wno-vla-extension -Wno-mismatched-tags -Wno-redundant-move Change-Id: I7c593854ecc3b7d595b8edcbd6a86d3c2563c6bd Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com> Reviewed-on: https://review.mlplatform.org/c/2069 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2019-10-15COMPMID-2205: CL runtime context.Pablo Tello
CL Interfaces implemented. Concrete classes implemented. One test (ActivationLayer) ported to the new interface. Change-Id: I283808bec36ccfc2f13fe048c45cbbee698ce525 Signed-off-by: Pablo Tello <pablo.tello@arm.com> Reviewed-on: https://review.mlplatform.org/c/1998 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
2019-10-08COMPMID-2486: Remove disabled compiler warningsMichalis Spyrou
Removed -Wno-unused-parameter and -Wno-deprecated-declarations compilation flags. Plus, 3RDPARTY_UPDATE. Change-Id: I43098c7af527d5651aad3c597b508a56f8813dda Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com> Reviewed-on: https://review.mlplatform.org/c/2041 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
2019-07-23COMPMID 1528: Fixed compilation error when opencl=0Pablo Tello
Change-Id: I0d57ba882a608026f582f9f208830e5b5ad315cd Signed-off-by: Pablo Tello <pablo.tello@arm.com> Reviewed-on: https://review.mlplatform.org/c/1586 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
2019-07-18COMPMID-2443: CL example use program cache by default.Pablo Tello
Change-Id: I9db5cf4ce98e86f7488f4041f0d0247d3d0cd663 Signed-off-by: Pablo Tello <pablo.tello@arm.com> Reviewed-on: https://review.mlplatform.org/c/1528 Tested-by: Arm Jenkins <bsgcomp@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Reviewed-by: VidhyaSudhan Loganathan <vidhyasudhan.loganathan@arm.com>
2018-11-02COMPMID-1543: Unable to include ImageLoader.h in multiple object filesAnthony Barbier
Removed STB_IMAGE_IMPLEMENTATION from the ImageLoader.h header and moved it to utils/Utils.cpp Change-Id: Ic41efd723c0c07d3ede86872fad411f2ffc5f162 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145989 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1506 NPY Loader doesn't work for NHWC pipelinesMichalis Spyrou
Change-Id: I696fcded606e82a91526a9471f16fa2d1226ff4f Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/144144 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1310: Create graph validation executables.Georgios Pinitas
Change-Id: I9e0b57b1b83fe5a95777cdaeddba6ecef650bafc Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/138697 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1081: Introduced test-wide instrumentsAnthony Barbier
Change-Id: I5831241f3fc503717cc51136453c2bf96d4b420b Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/128484 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-765 - Used GEMM-based convolution in VGG16Gian Marco
In order to use GEMM-based convolution in VGG16, it has been created a function which allocates 1.8 GB. If the function fails, will be used DIRECT convolution instead Change-Id: Ibec8928ee6fe6684d6dc24b7df380beeb671bf27 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/119490 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-782 Port examples to the new formatMichalis Spyrou
Change-Id: Ib178a97c080ff650094d02ee49e2a0aa22376dd0 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/115717 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-771 Allow examples to be profiledAnthony Barbier
Change-Id: I180281e796e1670b9ad391d82d66ecde0119ef78 Note: this is for internal use only which is why I think the hackiness of RunExample.cpp is acceptable. Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/115154 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-556 Updated libnpy.hppAnthony Barbier
Change-Id: I380a11f41ca2158de1dd0a6339ed9c884feb8f69 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/95385 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
2018-11-02COMPMID-627 Create CL SGEMM exampleGiorgio Arena
Change-Id: I17478202348d34716d00c78e3cc21254c76b32e1 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93304 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-09-17COMPMID-344 Updated doxygenAnthony Barbier
Change-Id: I32f7b84daa560e460b77216add529c8fa8b327ae