the deepseek suggest me use mod.script() to dump the schedule of Auto-Scheduler, but on machine it shows AttributeError: <class ‘tvm.te.schedule.Schedule’> has no attribute mod, does my tvm version too old ? (It is tvm 0.19.dev0 on my machine)
print (tvm.version) 0.19.dev0
import tvm
from tvm import auto_scheduler
# 1. 定义计算任务
@auto_scheduler.register_workload
def matmul():
A = tvm.te.placeholder((1024, 1024), name='A')
B = tvm.te.placeholder((1024, 1024), name='B')
k = tvm.te.reduce_axis((0, 1024), name='k')
C = tvm.te.compute((1024, 1024),
lambda i, j: tvm.te.sum(A[i, k] * B[k, j], axis=k),
name='C')
return [A, B, C]
target = tvm.target.Target("llvm")
task = auto_scheduler.SearchTask(func=matmul, args=(), target=target)
# 2. 调优配置
log_file = "matmul.json"
tune_option = auto_scheduler.TuningOptions(
num_measure_trials=10,
measure_callbacks=[auto_scheduler.RecordToFile(log_file)],
verbose=2, # 输出详细调优信息
)
# 3. 运行自动调优
task.tune(tune_option)
# 4. 应用最佳调度
sch, args = task.apply_best(log_file)
# 5. 打印生成的Schedule
print("======= Auto-Scheduler优化后的调度 =======")
print(sch.mod.script())