Skip to content

Commit

Permalink
Update perf tool documentation to reflect the new graph optimization …
Browse files Browse the repository at this point in the history
…enums. Relax constraint for enable_all. (#1650)
  • Loading branch information
pranavsharma authored and snnn committed Aug 19, 2019
1 parent 4137303 commit 6f3a835
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
2 changes: 1 addition & 1 deletion docs/ONNX_Runtime_Perf_Tuning.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ sess_options.set_graph_optimization_level(2)
```
* sess_options.session_thread_pool_size=2 controls how many thread do you want to use to run your model
* sess_options.enable_sequential_execution=True controls whether you want to run operators in your graph sequentially or in parallel. Usually when your model has many branches, set this option to false will give you better performance.
* sess_options.set_graph_optimization_level(2). There are three levels, 0 means disable optimization, 1 means enable optimizations before graph partition, 2 means enable all optimization.
* sess_options.set_graph_optimization_level(2). Please see onnxruntime_c_api.h (enum GraphOptimizationLevel) for the full list of all optimization levels.

### MKL_DNN/nGraph/MKL_ML Execution Provider
MKL_DNN, MKL_ML and nGraph all depends on openmp for parallization. For those execution providers, we need to use openmp enviroment variable to tune the performance.
Expand Down
11 changes: 8 additions & 3 deletions onnxruntime/test/perftest/command_args_parser.cc
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ namespace perftest {
"\t-v: Show verbose information.\n"
"\t-x [thread_size]: Session thread pool size.\n"
"\t-P: Use parallel executor instead of sequential executor.\n"
"\t-o [optimization level]: 0: disable optimization, 1: basic optimization, 2: extended optimization, 3: extended+layout optimization. \n"
"\t-o [optimization level]: Please see onnxruntime_c_api.h (enum GraphOptimizationLevel) for the full list of all optimization levels. \n"
"\t-h: help\n");
}

Expand Down Expand Up @@ -143,8 +143,13 @@ namespace perftest {
case ORT_ENABLE_ALL:
test_config.run_config.optimization_level = ORT_ENABLE_ALL;
break;
default:
return false;
default: {
if (tmp > ORT_ENABLE_ALL) { // relax constraint
test_config.run_config.optimization_level = ORT_ENABLE_ALL;
} else {
return false;
}
}
}
break;
}
Expand Down

0 comments on commit 6f3a835

Please sign in to comment.