tvm
|
The base class of search policies. More...
#include <search_policy.h>
Public Member Functions | |
void | VisitAttrs (AttrVisitor *v) |
virtual State | Search (int num_measure_trials, int early_stopping, int num_measures_per_round, ProgramMeasurer measurer)=0 |
Do schedule search for a task. Takes the SearchTask as input and returns the best state found during the search. More... | |
virtual std::pair< Array< MeasureInput >, Array< MeasureResult > > | ContinueSearchOneRound (int num_measure, ProgramMeasurer measurer)=0 |
Continue the search by doing an additional search round. More... | |
void | PreloadMeasuredStates (const String &log_file) |
Preload measured states from a log file to resume the state of the search policy. More... | |
void | RunCallbacks (const Array< SearchCallback > &callbacks) |
Call SearchCallback with the current SearchPolicyNode. More... | |
TVM_DECLARE_BASE_OBJECT_INFO (SearchPolicyNode, Object) | |
Public Member Functions inherited from tvm::runtime::Object | |
uint32_t | type_index () const |
std::string | GetTypeKey () const |
size_t | GetTypeKeyHash () const |
template<typename TargetType > | |
bool | IsInstance () const |
bool | unique () const |
Object () | |
Object (const Object &other) | |
Object (Object &&other) | |
Object & | operator= (const Object &other) |
Object & | operator= (Object &&other) |
Public Attributes | |
SearchTask | search_task |
The current search task. More... | |
int | verbose |
Verbose level to control the screen output during schedule search. 0 for silent, 1 to output state & measure information during search process. More... | |
Static Public Attributes | |
static constexpr const char * | _type_key = "auto_scheduler.SearchPolicy" |
Static Public Attributes inherited from tvm::runtime::Object | |
static constexpr const char * | _type_key = "runtime.Object" |
static constexpr bool | _type_final = false |
static constexpr uint32_t | _type_child_slots = 0 |
static constexpr bool | _type_child_slots_can_overflow = true |
static constexpr bool | _type_has_method_visit_attrs = true |
static constexpr bool | _type_has_method_sequal_reduce = false |
static constexpr bool | _type_has_method_shash_reduce = false |
static constexpr uint32_t | _type_index = TypeIndex::kDynamic |
Protected Attributes | |
std::unordered_set< std::string > | measured_states_set_ |
The set of already measured states. We store the string format of a state for redundancy check. This is used to make sure a measured state will never be measured again. More... | |
std::vector< State > | measured_states_vector_ |
The array of already measured states. The good states can be used as the initial population in evolutionary search. More... | |
std::vector< float > | measured_states_throughputs_ |
The throughputs of already measured states. More... | |
Protected Attributes inherited from tvm::runtime::Object | |
uint32_t | type_index_ {0} |
Type index(tag) that indicates the type of the object. More... | |
RefCounterType | ref_counter_ {0} |
The internal reference counter. More... | |
FDeleter | deleter_ = nullptr |
deleter of this object to enable customized allocation. If the deleter is nullptr, no deletion will be performed. The creator of the object must always set the deleter field properly. More... | |
Additional Inherited Members | |
Public Types inherited from tvm::runtime::Object | |
typedef void(* | FDeleter) (Object *self) |
Object deleter. More... | |
using | RefCounterType = std::atomic< int32_t > |
Static Public Member Functions inherited from tvm::runtime::Object | |
static std::string | TypeIndex2Key (uint32_t tindex) |
Get the type key of the corresponding index from runtime. More... | |
static size_t | TypeIndex2KeyHash (uint32_t tindex) |
Get the type key hash of the corresponding index from runtime. More... | |
static uint32_t | TypeKey2Index (const std::string &key) |
Get the type index of the corresponding key from runtime. More... | |
static uint32_t | _GetOrAllocRuntimeTypeIndex () |
static uint32_t | RuntimeTypeIndex () |
Protected Member Functions inherited from tvm::runtime::Object | |
void | IncRef () |
developer function, increases reference counter. More... | |
void | DecRef () |
developer function, decrease reference counter. More... | |
Static Protected Member Functions inherited from tvm::runtime::Object | |
static uint32_t | GetOrAllocRuntimeTypeIndex (const std::string &key, uint32_t static_tindex, uint32_t parent_tindex, uint32_t type_child_slots, bool type_child_slots_can_overflow) |
Get the type index using type key. More... | |
The base class of search policies.
|
pure virtual |
Continue the search by doing an additional search round.
num_measure | The number of measurements |
measurer | The measurer to measure programs |
void tvm::auto_scheduler::SearchPolicyNode::PreloadMeasuredStates | ( | const String & | log_file | ) |
Preload measured states from a log file to resume the state of the search policy.
log_file | The name of the record log file. |
void tvm::auto_scheduler::SearchPolicyNode::RunCallbacks | ( | const Array< SearchCallback > & | callbacks | ) |
Call SearchCallback with the current SearchPolicyNode.
callbacks | SearchCallback to be called. |
|
pure virtual |
Do schedule search for a task. Takes the SearchTask as input and returns the best state found during the search.
num_measure_trials | The number of total measurement trials. |
early_stopping | Stops the tuning early if no improvement after n measurements. |
num_measures_per_round | The number of programs to be measured at each search round. |
measurer | A ProgramMeasurer to build and measure programs |
tvm::auto_scheduler::SearchPolicyNode::TVM_DECLARE_BASE_OBJECT_INFO | ( | SearchPolicyNode | , |
Object | |||
) |
|
inline |
|
staticconstexpr |
|
protected |
The set of already measured states. We store the string format of a state for redundancy check. This is used to make sure a measured state will never be measured again.
|
protected |
The throughputs of already measured states.
|
protected |
The array of already measured states. The good states can be used as the initial population in evolutionary search.
SearchTask tvm::auto_scheduler::SearchPolicyNode::search_task |
The current search task.
int tvm::auto_scheduler::SearchPolicyNode::verbose |
Verbose level to control the screen output during schedule search. 0 for silent, 1 to output state & measure information during search process.