These two tutorials use different tuning mechanisms, the first one uses AutoTVM, the second one Autoscheduler. If you use AutoTVM, you need to have the -device arm_cpu
option present since that tells the tuner to use Arm specific TOPI schedules.
As the second tutorial says, Autoscheduler doesn’t make use of TOPI schedule templates (it only uses compute definitions), so you don’t need to add that option to the target string.
Usually AutoTVM performs better on Arm targets, but that really depends on a specific hardware and the specific device, so it’s probably good to try both. You might also want to explore if you can use other -mattr
options in addition to +neon
, eg +dotprod
(that will again depend on the device), in case of AutoTVM that can make a difference in terms of which schedules are chosen 