19#ifndef TVM_S_TIR_META_SCHEDULE_BUILDER_H_
20#define TVM_S_TIR_META_SCHEDULE_BUILDER_H_
22#include <tvm/ffi/container/array.h>
23#include <tvm/ffi/container/map.h>
24#include <tvm/ffi/function.h>
25#include <tvm/ffi/optional.h>
26#include <tvm/ffi/reflection/registry.h>
27#include <tvm/ffi/string.h>
35namespace meta_schedule {
48 ffi::Optional<ffi::Map<ffi::String, ffi::Tensor>>
params;
51 namespace refl = tvm::ffi::reflection;
52 refl::ObjectDef<BuilderInputObj>()
75 ffi::Optional<ffi::Map<ffi::String, ffi::Tensor>> params = std::nullopt);
88 namespace refl = tvm::ffi::reflection;
89 refl::ObjectDef<BuilderResultObj>()
109 ffi::Optional<ffi::String> error_msg);
123 virtual ffi::Array<BuilderResult>
Build(
const ffi::Array<BuilderInput>& build_inputs) = 0;
129 using FBuild = ffi::TypedFunction<ffi::Array<BuilderResult>(
const ffi::Array<BuilderInput>&)>;
145 explicit Builder(ffi::ObjectPtr<BuilderObj> data) : ffi::ObjectRef(data) {
146 TVM_FFI_ICHECK(data !=
nullptr);
164 namespace refl = tvm::ffi::reflection;
168 ffi::Array<BuilderResult>
Build(
const ffi::Array<BuilderInput>& build_inputs)
final {
169 TVM_FFI_ICHECK(
f_build !=
nullptr) <<
"PyBuilder's Build method not implemented!";
Managed reference class to IRModuleNode.
Definition module.h:255
Managed reference class to TargetObj.
Definition target.h:136
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
Device-independent tensor allocation, copies, views and serialization.
Compilation target object.