aboutsummaryrefslogtreecommitdiff
path: root/examples/gemm_tuner/README.md
diff options
context:
space:
mode:
authorSiCong Li <sicong.li@arm.com>2019-10-01 19:26:00 +0100
committerSiCong Li <sicong.li@arm.com>2019-10-23 15:15:05 +0000
commite36b5266e4c6593932432bc0289e431d007b8710 (patch)
tree29917a9746ab84f33e07cc8e7239530e93e4bb6f /examples/gemm_tuner/README.md
parent48b3ef89de5f21a0169d8416e3d54081f82c7bf8 (diff)
downloadComputeLibrary-e36b5266e4c6593932432bc0289e431d007b8710.tar.gz
COMPMID-2567: Create a python script to parse the CLGEMM benchmarks and
return the optimal configuration * Fix GEMM Reshaped example by adding the reshape lhs kernel. * Extend runner shell script to save result files with a defined file extension * Extend runner shell script to print out progress and time * Add python script * Update README Change-Id: I484ec8945aded4341743bc1024820523392b8ce3 Signed-off-by: SiCong Li <sicong.li@arm.com> Reviewed-on: https://review.mlplatform.org/c/2122 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'examples/gemm_tuner/README.md')
-rw-r--r--examples/gemm_tuner/README.md25
1 files changed, 21 insertions, 4 deletions
diff --git a/examples/gemm_tuner/README.md b/examples/gemm_tuner/README.md
index 789dc2bb9a..3d5b6376e1 100644
--- a/examples/gemm_tuner/README.md
+++ b/examples/gemm_tuner/README.md
@@ -2,10 +2,27 @@
## Pre-requisite
(Preferably) bash shell
-benchmark examples
+Built benchmark examples
+python >= 3.6
## Usage
-Run gemm examples of a selected strategy, over all pre-defined tunable configurations, on a set of gemm shapes provided
-by the user. Save the benchmark results to json files in an output directory.
+The tuning consists of 2 steps:
-[$SHELL] ./benchmark_gemm_examples.sh -e \<example_binary_dir\> -s \<strategy\> -g \<gemm_shape_file\> -c \<gemm_config_file\> [-o \<out_dir\>, [-i \<iteration\>]]
+1. Run benchmarks: Run the runner shell script (benchmark_gemm_examples.sh) on
+your target device. Note that all the built benchmark examples have to be
+present on your target device prior to running. The script will run the selected
+strategy, over all pre-defined tunable configurations, on a set of gemm shapes
+provided by the user, and then save the benchmark results to json files in an
+output directory.
+
+[$SHELL] ./benchmark_gemm_examples.sh -s \<strategy\> -e \<example_binary_dir\>
+ -g \<gemm_shape_file\> -c \<gemm_config_file\> [-o \<out_dir\>]
+
+2. Run analyser: Run the python script (GemmTuner.py) on your host device.
+You'll need to transfer all the benchmark result json files generated from the
+previous step to your host machine beforehand. Note that this requires
+python >= 3.6. The script will output the best configuration, along with some
+analysis statistics for each strategy, and optionally save the parsed benchmark
+results into csv files (one for each strategy) for further analysis.
+
+python GemmTuner.py -b \<benchmark_results_dir\> [-o \<out_dir\>]