19#ifndef TVM_S_TIR_META_SCHEDULE_DATABASE_H_
20#define TVM_S_TIR_META_SCHEDULE_DATABASE_H_
22#include <tvm/ffi/container/array.h>
23#include <tvm/ffi/function.h>
24#include <tvm/ffi/reflection/registry.h>
25#include <tvm/ffi/string.h>
39namespace meta_schedule {
54 namespace refl = tvm::ffi::reflection;
73 explicit Workload(ffi::UnsafeInit tag, ffi::ObjectPtr<WorkloadObj> data) : ffi::ObjectRef(tag) {
74 data_ = std::move(data);
110 const ModuleEquality& mod_eq_;
131 namespace refl = tvm::ffi::reflection;
132 refl::ObjectDef<TuningRecordObj>()
173 ffi::Optional<ffi::Array<FloatImm>> run_secs,
174 ffi::Optional<Target> target,
175 ffi::Optional<ffi::Array<ArgInfo>> args_info);
249 const ffi::String& workload_name);
258 const ffi::String& workload_name);
267 const ffi::String& workload_name);
275 TVM_FFI_ICHECK(mod_eq_);
284 std::unique_ptr<ModuleEquality> mod_eq_;
359 const ffi::String&)>;
364 using FSize = ffi::TypedFunction<int64_t()>;
398 namespace refl = tvm::ffi::reflection;
399 refl::ObjectDef<PyDatabaseObj>();
403 TVM_FFI_ICHECK(
f_has_workload !=
nullptr) <<
"PyDatabase's HasWorkload method not implemented!";
409 <<
"PyDatabase's CommitWorkload method not implemented!";
415 <<
"PyDatabase's CommitTuningRecord method not implemented!";
420 TVM_FFI_ICHECK(
f_get_top_k !=
nullptr) <<
"PyDatabase's GetTopK method not implemented!";
426 <<
"PyDatabase's GetAllTuningRecords method not implemented!";
431 const ffi::String& workload_name)
final {
440 const ffi::String& workload_name)
final {
449 const ffi::String& workload_name)
final {
458 TVM_FFI_ICHECK(
f_size !=
nullptr) <<
"PyDatabase's Size method not implemented!";
476 explicit Database(ffi::ObjectPtr<DatabaseObj> data) : ffi::ObjectRef(data) {
477 TVM_FFI_ICHECK(data !=
nullptr);
491 ffi::String mod_eq_name =
"structural");
500 bool allow_missing, ffi::String mod_eq_name =
"structural");
540 ffi::String mod_eq_name =
"structural");
Managed reference class to IRModuleNode.
Definition module.h:255
Managed reference class to TargetObj.
Definition target.h:136
Managed reference to ScheduleObj.
Definition schedule.h:887
Managed reference to TraceNode.
Definition trace.h:145
IRModule that holds the functions and type definitions.
An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.
Definition attr.h:23
Compilation target object.