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>
40namespace meta_schedule {
66 namespace refl = tvm::ffi::reflection;
67 refl::ObjectDef<TaskRecordObj>()
150 namespace refl = tvm::ffi::reflection;
151 refl::ObjectDef<TaskSchedulerObj>()
183 virtual void Tune(ffi::Array<TuneContext> tasks,
184 ffi::Array<FloatImm> task_weights,
185 int max_trials_global,
186 int max_trials_per_task,
187 int num_trials_per_iter,
190 ffi::Array<MeasureCallback> measure_callbacks,
191 ffi::Optional<Database> database,
192 ffi::Optional<CostModel> cost_model);
226 using FTune = ffi::TypedFunction<void(ffi::Array<TuneContext> tasks,
227 ffi::Array<FloatImm> task_weights,
228 int max_trials_global,
229 int max_trials_per_task,
230 int num_trials_per_iter,
233 ffi::Array<MeasureCallback> measure_callbacks,
234 ffi::Optional<Database> database,
235 ffi::Optional<CostModel> cost_model)>;
245 namespace refl = tvm::ffi::reflection;
246 refl::ObjectDef<PyTaskSchedulerObj>();
252 int max_trials_per_task,
int num_trials_per_iter,
Builder builder,
Runner runner,
254 ffi::Optional<
CostModel> cost_model) final;
265 explicit TaskScheduler(ffi::ObjectPtr<TaskSchedulerObj> data) : ffi::ObjectRef(data) {
266 TVM_FFI_ICHECK(data !=
nullptr);
Managed reference class to FloatImmNode.
Definition expr.h:232
int64_t TRandState
Definition random_engine.h:47
Managed reference to TuneContextObj.
Definition tune_context.h:99
An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.
Definition attr.h:23
Random number generator. It provides a generic interface consistent with std::uniform_random_bit_gene...