diff options
author | SiCong Li <sicong.li@arm.com> | 2019-10-01 19:26:00 +0100 |
---|---|---|
committer | SiCong Li <sicong.li@arm.com> | 2019-10-23 15:15:05 +0000 |
commit | e36b5266e4c6593932432bc0289e431d007b8710 (patch) | |
tree | 29917a9746ab84f33e07cc8e7239530e93e4bb6f /examples/gemm_tuner/README.md | |
parent | 48b3ef89de5f21a0169d8416e3d54081f82c7bf8 (diff) | |
download | ComputeLibrary-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.md | 25 |
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\>] |