From 6c3764af4343269b5ab2659a3c083c3b036cc4ec Mon Sep 17 00:00:00 2001 From: Lin Yuan Date: Thu, 12 Sep 2019 17:20:35 +0000 Subject: [PATCH] update README with profiler option --- benchmark/opperf/README.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/benchmark/opperf/README.md b/benchmark/opperf/README.md index 6e628dfe40a8..e3b32ebee93a 100644 --- a/benchmark/opperf/README.md +++ b/benchmark/opperf/README.md @@ -129,7 +129,7 @@ Output for the above benchmark run, on a CPU machine, would look something like ``` -## Usecase 3.1 - Run benchmarks for group of operators with same input +## Usecase 4 - Run benchmarks for group of operators with same input For example, you want to run benchmarks for `nd.add`, `nd.sub` operator in MXNet, with the same set of inputs. You just run the following python script. ``` @@ -173,6 +173,22 @@ This utility queries MXNet operator registry to fetch all operators registered w However, fully automated tests are enabled only for simpler operators such as - broadcast operators, element_wise operators etc... For the purpose of readability and giving more control to the users, complex operators such as convolution (2D, 3D), Pooling, Recurrent are not fully automated but expressed as default rules. See `utils/op_registry_utils.py` for more details. +## Use nativa python timer +Optionally, you could use the python time package as the profiler engine to caliberate runtime in each operator. +To use python timer for all operators, use the argument --profiler 'python': +``` +python incubator-mxnet/benchmark/opperf/opperf.py --profiler='python' +``` + +To use python timer for a specific operator, pass the argument profiler to the run_performance_test method: +``` +add_res = run_performance_test([nd.add, nd.subtract], run_backward=True, dtype='float32', ctx=mx.cpu(), + inputs=[{"lhs": (1024, 1024), + "rhs": (1024, 1024)}], + warmup=10, runs=25, profiler='python') +``` +By default, MXNet profiler is used as the profiler engine. + # TODO All contributions are welcome. Below is the list of desired features: