This is the tracking issue for bringing auto-tuning module to tvm. The auto-tuning module is critical to the performance and portability of tvm.
Since this is a big change, I will send several PRs to complete the integration. Here is the roadmap.
Step 1: Basic auto tuning infrastructure (#1312)
The core components to support auto-tuning in tvm:
- Template and space definition
- Measurement executor
- Basic tuners: random tuner, gridsearch tuner, xgboost tuner
- Tuning records/log
- Tutorial on writing tunable schedule
Step 2: Rewriting TOPI with autotvm template (#1487)
- Rewrite performance-bottleneck operators (e.g. conv2d) in tunable style
Currently we store parameters of schedule on source file. After this step, we will release a
log file which stores the parameters for common shapes.
- Add automated space generation for some backends
- Tutorial
Step3: Tuning a whole NNVM graph
- Tune a whole nnvm graph with easy API
- Tutorial
This is the tracking issue for bringing auto-tuning module to tvm. The auto-tuning module is critical to the performance and portability of tvm.
Since this is a big change, I will send several PRs to complete the integration. Here is the roadmap.
Step 1: Basic auto tuning infrastructure (#1312)
The core components to support auto-tuning in tvm:
Step 2: Rewriting TOPI with autotvm template (#1487)
Currently we store parameters of schedule on source file. After this step, we will release a
log file which stores the parameters for common shapes.
Step3: Tuning a whole NNVM graph