19 #ifndef TVM_META_SCHEDULE_DATABASE_H_ 20 #define TVM_META_SCHEDULE_DATABASE_H_ 27 namespace meta_schedule {
40 v->Visit(
"mod", &mod);
44 static constexpr
const char*
_type_key =
"meta_schedule.Workload";
109 v->Visit(
"trace", &trace);
110 v->Visit(
"run_secs", &run_secs);
111 v->Visit(
"workload", &workload);
112 v->Visit(
"target", &target);
113 v->Visit(
"args_info", &args_info);
116 static constexpr
const char*
_type_key =
"meta_schedule.TuningRecord";
149 TVM_DLL
static TuningRecord FromJSON(
const ObjectRef& json_obj,
const Workload& workload);
168 virtual void CommitTuningRecord(
const TuningRecord& record) = 0;
180 virtual int64_t Size() = 0;
182 static constexpr
const char*
_type_key =
"meta_schedule.Database";
234 ICHECK(f_commit_workload !=
nullptr) <<
"PyDatabase's CommitWorkload method not implemented!";
235 return f_commit_workload(
mod);
239 ICHECK(f_commit_tuning_record !=
nullptr)
240 <<
"PyDatabase's CommitTuningRecord method not implemented!";
241 f_commit_tuning_record(record);
245 ICHECK(f_get_top_k !=
nullptr) <<
"PyDatabase's GetTopK method not implemented!";
246 return f_get_top_k(workload, top_k);
250 ICHECK(f_size !=
nullptr) <<
"PyDatabase's Size method not implemented!";
254 static constexpr
const char*
_type_key =
"meta_schedule.PyDatabase";
290 #endif // TVM_META_SCHEDULE_DATABASE_H_
#define TVM_DEFINE_MUTABLE_NOTNULLABLE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)
Definition: object.h:751
Performance counters for profiling via the PAPI library.
Definition: analyzer.h:36
base class of all object containers.
Definition: object.h:165
Content-aware structural equality comparator for objects.
Definition: structural_equal.h:81
Visitor class to get the attributes of an AST/IR node. The content is going to be called for each fie...
Definition: reflection.h:52
Array, container representing a contiguous sequence of ObjectRefs.
Definition: array.h:270
Reference to string objects.
Definition: string.h:129
Managed reference class to TargetNode.
Definition: target.h:132
Base class of all object reference.
Definition: object.h:504
Managed reference class to IRModuleNode.
Definition: module.h:352
Compilation target object.
Managed reference to TraceNode.
Definition: trace.h:141
#define TVM_DECLARE_BASE_OBJECT_INFO(TypeName, ParentType)
helper macro to declare a base object type that can be inherited.
Definition: object.h:641
#define TVM_DEFINE_NOTNULLABLE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)
Definition: object.h:721