In this PR, we integrate auto-scheduling and auto-tuning utilities for HeteroCL infrastructure. The auto-scheduling is conducted based on analytical performance model, we only support automatic data placement and data reuse in the initial version. The auto-tuning is developed based on UpTune, and used for data auto-quantization.
An example of performing auto-scheduling in a two-layer NN written in HeteroCL. The analysis function will extract the potential data reusability between HeteroCL stages (e.g. the CONV and POOL layer in the example) and apply reuse_at schedule automatically on the schedule.
In this PR, we integrate auto-scheduling and auto-tuning utilities for HeteroCL infrastructure. The auto-scheduling is conducted based on analytical performance model, we only support automatic data placement and data reuse in the initial version. The auto-tuning is developed based on UpTune, and used for data auto-quantization.
An example of performing auto-scheduling in a two-layer NN written in HeteroCL. The analysis function will extract the potential data reusability between HeteroCL stages (e.g. the CONV and POOL layer in the example) and apply
reuse_at
schedule automatically on the schedule.