20#ifndef TVM_S_TIR_META_SCHEDULE_COST_MODEL_H_
21#define TVM_S_TIR_META_SCHEDULE_COST_MODEL_H_
23#include <tvm/ffi/container/array.h>
24#include <tvm/ffi/function.h>
25#include <tvm/ffi/reflection/registry.h>
26#include <tvm/ffi/string.h>
38namespace meta_schedule {
52 virtual void Load(
const ffi::String& path) = 0;
58 virtual void Save(
const ffi::String& path) = 0;
66 virtual void Update(
const TuneContext& context,
const ffi::Array<MeasureCandidate>& candidates,
67 const ffi::Array<RunnerResult>& results) = 0;
76 const ffi::Array<MeasureCandidate>& candidates) = 0;
89 using FLoad = ffi::TypedFunction<void(ffi::String)>;
94 using FSave = ffi::TypedFunction<void(ffi::String)>;
103 const ffi::Array<RunnerResult>&)>;
121 void Load(
const ffi::String& path);
122 void Save(
const ffi::String& path);
124 const ffi::Array<RunnerResult>& results);
126 const ffi::Array<MeasureCandidate>& candidates);
137 explicit CostModel(ffi::UnsafeInit tag, ffi::ObjectPtr<CostModelObj> data) : ffi::ObjectRef(tag) {
138 data_ = std::move(data);
Managed reference to TuneContextObj.
Definition tune_context.h:99
An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.
Definition attr.h:23