19 #ifndef TVM_META_SCHEDULE_BUILDER_H_
20 #define TVM_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 Optional<Map<String, runtime::NDArray>>
params;
48 refl::ObjectDef<BuilderInputNode>()
54 static constexpr
const char*
_type_key =
"meta_schedule.BuilderInput";
71 Optional<Map<String, runtime::NDArray>> params = std::nullopt);
85 refl::ObjectDef<BuilderResultNode>()
90 static constexpr
const char*
_type_key =
"meta_schedule.BuilderResult";
105 TVM_DLL
explicit BuilderResult(Optional<String> artifact_path, Optional<String> error_msg);
119 virtual Array<BuilderResult>
Build(
const Array<BuilderInput>& build_inputs) = 0;
125 using FBuild = ffi::TypedFunction<Array<BuilderResult>(
const Array<BuilderInput>&)>;
127 static constexpr
const char*
_type_key =
"meta_schedule.Builder";
157 Array<BuilderResult>
Build(
const Array<BuilderInput>& build_inputs)
final {
158 ICHECK(
f_build !=
nullptr) <<
"PyBuilder's Build method not implemented!";
162 static constexpr
const char*
_type_key =
"meta_schedule.PyBuilder";
Managed reference class to IRModuleNode.
Definition: module.h:257
Managed reference class to TargetNode.
Definition: target.h:191
IRModule that holds the functions and type definitions.
Definition: repr_printer.h:91
tvm::PrimExpr mod(const tvm::PrimExpr &a, const tvm::PrimExpr &b)
Definition: broadcast.h:306
Performance counters for profiling via the PAPI library.
Definition: analyzer.h:37
A device-independent managed NDArray abstraction.
A managed object in the TVM runtime.
Compilation target object.