tvm
|
Measurer that measures the time costs of tvm programs This class combines ProgramBuilder and ProgramRunner, and provides a simpler API. More...
#include <measure.h>
Public Member Functions | |
void | Reset () |
Reset book keeping variables. More... | |
Array< MeasureResult > | Measure (const SearchTask &task, const SearchPolicy &policy, const Array< MeasureInput > &inputs, int batch_size=-1) |
Do measurement. More... | |
void | SilentMeasure (const SearchTask &task, const Array< MeasureInput > &inputs, Array< MeasureResult > *results) |
Do measurement silently. This API will not print the measure results to screen. More... | |
TVM_DECLARE_FINAL_OBJECT_INFO (ProgramMeasurerNode, 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 | |
int | ct |
Measured programs counter. More... | |
int | error_ct |
Continuous error counter. More... | |
std::unordered_map< std::string, double > | best_flops |
Workload key to best flops map. More... | |
std::unordered_map< std::string, State > | best_state |
Workload key to best state map. More... | |
std::unordered_map< std::string, int > | best_ct |
Workload key to best state's count index map. More... | |
std::unordered_set< std::string > | has_valid |
The set of workloads that have at least one valid schedule. More... | |
ProgramBuilder | builder |
The ProgramBuilder to build each program. More... | |
ProgramRunner | runner |
The ProgramRunner to measure each program. More... | |
Optional< Array< MeasureCallback > > | callbacks |
MeasureCallback to be called after each measure batch. More... | |
int | verbose |
Verbosity level. 0 for silent, 1 to output information during program measuring. More... | |
int | max_continuous_error |
The number of allowed maximum continuous error before forcely stopping the tuning. More... | |
Static Public Attributes | |
static const int | DEFAULT_MAX_CONTINUOUS_ERROR = 150 |
The default max continuous error setting. More... | |
static constexpr const char * | _type_key = "auto_scheduler.ProgramMeasurer" |
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 |
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... | |
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... | |
Measurer that measures the time costs of tvm programs This class combines ProgramBuilder and ProgramRunner, and provides a simpler API.
Array<MeasureResult> tvm::auto_scheduler::ProgramMeasurerNode::Measure | ( | const SearchTask & | task, |
const SearchPolicy & | policy, | ||
const Array< MeasureInput > & | inputs, | ||
int | batch_size = -1 |
||
) |
Do measurement.
task | The current SearchTask. |
policy | The current SearchPolicy. |
inputs | The inputs of measurement. |
batch_size | Number of programs to be measured in one batch. |
void tvm::auto_scheduler::ProgramMeasurerNode::Reset | ( | ) |
Reset book keeping variables.
void tvm::auto_scheduler::ProgramMeasurerNode::SilentMeasure | ( | const SearchTask & | task, |
const Array< MeasureInput > & | inputs, | ||
Array< MeasureResult > * | results | ||
) |
Do measurement silently. This API will not print the measure results to screen.
task | The current SearchTask. |
inputs | The MeasureInputs. |
results | A pointer to a MeasureResult Array, this is used as output. |
tvm::auto_scheduler::ProgramMeasurerNode::TVM_DECLARE_FINAL_OBJECT_INFO | ( | ProgramMeasurerNode | , |
Object | |||
) |
|
staticconstexpr |
std::unordered_map<std::string, int> tvm::auto_scheduler::ProgramMeasurerNode::best_ct |
Workload key to best state's count index map.
std::unordered_map<std::string, double> tvm::auto_scheduler::ProgramMeasurerNode::best_flops |
Workload key to best flops map.
std::unordered_map<std::string, State> tvm::auto_scheduler::ProgramMeasurerNode::best_state |
Workload key to best state map.
ProgramBuilder tvm::auto_scheduler::ProgramMeasurerNode::builder |
The ProgramBuilder to build each program.
Optional<Array<MeasureCallback> > tvm::auto_scheduler::ProgramMeasurerNode::callbacks |
MeasureCallback to be called after each measure batch.
int tvm::auto_scheduler::ProgramMeasurerNode::ct |
Measured programs counter.
|
static |
The default max continuous error setting.
int tvm::auto_scheduler::ProgramMeasurerNode::error_ct |
Continuous error counter.
std::unordered_set<std::string> tvm::auto_scheduler::ProgramMeasurerNode::has_valid |
The set of workloads that have at least one valid schedule.
int tvm::auto_scheduler::ProgramMeasurerNode::max_continuous_error |
The number of allowed maximum continuous error before forcely stopping the tuning.
ProgramRunner tvm::auto_scheduler::ProgramMeasurerNode::runner |
The ProgramRunner to measure each program.
int tvm::auto_scheduler::ProgramMeasurerNode::verbose |
Verbosity level. 0 for silent, 1 to output information during program measuring.