19 #ifndef TVM_META_SCHEDULE_TASK_SCHEDULER_H_
20 #define TVM_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>
38 namespace meta_schedule {
65 refl::ObjectDef<TaskRecordNode>()
149 refl::ObjectDef<TaskSchedulerNode>()
181 virtual void Tune(ffi::Array<TuneContext> tasks,
182 ffi::Array<FloatImm> task_weights,
183 int max_trials_global,
184 int max_trials_per_task,
185 int num_trials_per_iter,
188 ffi::Array<MeasureCallback> measure_callbacks,
189 ffi::Optional<Database> database,
190 ffi::Optional<CostModel> cost_model);
224 using FTune = ffi::TypedFunction<void(ffi::Array<TuneContext> tasks,
225 ffi::Array<FloatImm> task_weights,
226 int max_trials_global,
227 int max_trials_per_task,
228 int num_trials_per_iter,
231 ffi::Array<MeasureCallback> measure_callbacks,
232 ffi::Optional<Database> database,
233 ffi::Optional<CostModel> cost_model)>;
244 refl::ObjectDef<PyTaskSchedulerNode>();
250 int max_trials_per_task,
int num_trials_per_iter,
Builder builder,
Runner runner,
252 ffi::Optional<
CostModel> cost_model) final;
263 explicit TaskScheduler(ObjectPtr<TaskSchedulerNode> data) : runtime::ObjectRef(data) {
264 TVM_FFI_ICHECK(data !=
nullptr);
Managed reference class to FloatImmNode.
Definition: expr.h:545
Managed reference to TuneContextNode.
Definition: tune_context.h:98
int64_t TRandState
Definition: random_engine.h:46
Definition: repr_printer.h:91
Performance counters for profiling via the PAPI library.
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...