diff options
author | Pablo Tello <pablo.tello@arm.com> | 2019-07-11 16:50:37 +0100 |
---|---|---|
committer | Pablo Marquez <pablo.tello@arm.com> | 2019-07-18 14:55:49 +0000 |
commit | db9116ff15170ff734aad0300b46c48abc2a3b7b (patch) | |
tree | 5846ab774aa5e6725e9144841b745e1ad2641583 /examples/graph_alexnet.cpp | |
parent | 06be6f8d2a316a307fa623150f8adf8f9c3416c5 (diff) | |
download | ComputeLibrary-db9116ff15170ff734aad0300b46c48abc2a3b7b.tar.gz |
COMPMID-2443: CL example use program cache by default.
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>
Diffstat (limited to 'examples/graph_alexnet.cpp')
-rw-r--r-- | examples/graph_alexnet.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/examples/graph_alexnet.cpp b/examples/graph_alexnet.cpp index a785dea78d..f8b25a103a 100644 --- a/examples/graph_alexnet.cpp +++ b/examples/graph_alexnet.cpp @@ -27,6 +27,8 @@ #include "utils/GraphUtils.h" #include "utils/Utils.h" +#include <chrono> + using namespace arm_compute::utils; using namespace arm_compute::graph::frontend; using namespace arm_compute::graph_utils; @@ -148,13 +150,34 @@ public: // Finalize graph GraphConfig config; + config.num_threads = common_params.threads; config.use_tuner = common_params.enable_tuner; config.tuner_mode = common_params.tuner_mode; config.tuner_file = common_params.tuner_file; + const auto config_start_time = std::chrono::high_resolution_clock::now(); + + // Load the precompiled kernels from a file into the kernel library, in this way the next time they are needed + // compilation won't be required. + if(common_params.enable_cl_cache) + { + restore_program_cache_from_file(); + } + graph.finalize(common_params.target, config); + const auto config_end_time = std::chrono::high_resolution_clock::now(); + const auto time_elapsed = config_end_time - config_start_time; + const auto time_elapsed_ms = std::chrono::duration_cast<std::chrono::milliseconds>(time_elapsed).count(); + std::cout << "Configuration time " << time_elapsed_ms << " ms " << std::endl; + + // Save the opencl kernels to a file + if(common_opts.enable_cl_cache) + { + save_program_cache_to_file(); + } + return true; } void do_run() override |