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>
34 namespace meta_schedule {
44 ffi::Optional<ffi::Map<ffi::String, runtime::Tensor>>
params;
47 namespace refl = tvm::ffi::reflection;
48 refl::ObjectDef<BuilderInputNode>()
71 ffi::Optional<ffi::Map<ffi::String, runtime::Tensor>> params = std::nullopt);
84 namespace refl = tvm::ffi::reflection;
85 refl::ObjectDef<BuilderResultNode>()
105 ffi::Optional<ffi::String> error_msg);
119 virtual ffi::Array<BuilderResult>
Build(
const ffi::Array<BuilderInput>& build_inputs) = 0;
125 using FBuild = ffi::TypedFunction<ffi::Array<BuilderResult>(
const ffi::Array<BuilderInput>&)>;
141 explicit Builder(ffi::ObjectPtr<BuilderNode> data) : ffi::ObjectRef(data) {
142 TVM_FFI_ICHECK(data !=
nullptr);
160 namespace refl = tvm::ffi::reflection;
164 ffi::Array<BuilderResult>
Build(
const ffi::Array<BuilderInput>& build_inputs)
final {
165 TVM_FFI_ICHECK(
f_build !=
nullptr) <<
"PyBuilder's Build method not implemented!";
Managed reference class to IRModuleNode.
Definition: module.h:258
Managed reference class to TargetNode.
Definition: target.h:135
IRModule that holds the functions and type definitions.
tvm::PrimExpr mod(const tvm::PrimExpr &a, const tvm::PrimExpr &b)
Definition: broadcast.h:308
An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.
Definition: analyzer.h:37
A device-independent managed Tensor abstraction.
Compilation target object.