19 #ifndef TVM_S_TIR_META_SCHEDULE_TASK_SCHEDULER_H_
20 #define TVM_S_TIR_META_SCHEDULE_TASK_SCHEDULER_H_
22 #include <tvm/ffi/container/array.h>
23 #include <tvm/ffi/function.h>
24 #include <tvm/ffi/optional.h>
25 #include <tvm/ffi/reflection/registry.h>
39 namespace meta_schedule {
66 refl::ObjectDef<TaskRecordNode>()
150 refl::ObjectDef<TaskSchedulerNode>()
182 virtual void Tune(ffi::Array<TuneContext> tasks,
183 ffi::Array<FloatImm> task_weights,
184 int max_trials_global,
185 int max_trials_per_task,
186 int num_trials_per_iter,
189 ffi::Array<MeasureCallback> measure_callbacks,
190 ffi::Optional<Database> database,
191 ffi::Optional<CostModel> cost_model);
225 using FTune = ffi::TypedFunction<void(ffi::Array<TuneContext> tasks,
226 ffi::Array<FloatImm> task_weights,
227 int max_trials_global,
228 int max_trials_per_task,
229 int num_trials_per_iter,
232 ffi::Array<MeasureCallback> measure_callbacks,
233 ffi::Optional<Database> database,
234 ffi::Optional<CostModel> cost_model)>;
245 refl::ObjectDef<PyTaskSchedulerNode>();
251 int max_trials_per_task,
int num_trials_per_iter,
Builder builder,
Runner runner,
253 ffi::Optional<
CostModel> cost_model) final;
264 explicit TaskScheduler(ObjectPtr<TaskSchedulerNode> data) : runtime::ObjectRef(data) {
265 TVM_FFI_ICHECK(data !=
nullptr);
Managed reference class to FloatImmNode.
Definition: expr.h:546
Managed reference to TuneContextNode.
Definition: tune_context.h:99
int64_t TRandState
Definition: random_engine.h:46
Definition: repr_printer.h:91
An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.
Definition: analyzer.h:37
A managed object in the TVM runtime.
Random number generator. It provides a generic interface consistent with std::uniform_random_bit_gene...