tvm
|
#include <database.h>
Public Member Functions | |
DatabaseNode (String mod_eq_name="structural") | |
Constructor. More... | |
virtual | ~DatabaseNode () |
Default destructor. More... | |
virtual bool | HasWorkload (const IRModule &mod)=0 |
Check if the database has the given workload. More... | |
virtual Workload | CommitWorkload (const IRModule &mod)=0 |
Look up or add workload to the database if missing. More... | |
virtual void | CommitTuningRecord (const TuningRecord &record)=0 |
Add a tuning record to the database. More... | |
virtual Array< TuningRecord > | GetTopK (const Workload &workload, int top_k)=0 |
Get the top K valid tuning records of given workload from the database. More... | |
virtual Array< TuningRecord > | GetAllTuningRecords ()=0 |
Get all tuning records from the database. More... | |
virtual int64_t | Size ()=0 |
Get the size of the database. More... | |
virtual Optional< TuningRecord > | QueryTuningRecord (const IRModule &mod, const Target &target, const String &workload_name) |
Query the best record of the given workload from the database. More... | |
virtual Optional< tir::Schedule > | QuerySchedule (const IRModule &mod, const Target &target, const String &workload_name) |
Query the best schedule of the given workload from the database. More... | |
virtual Optional< IRModule > | QueryIRModule (const IRModule &mod, const Target &target, const String &workload_name) |
Query the best IRModule of the given workload from the database. More... | |
void | DumpPruned (Database destination) |
Prune the database and dump it a given database. More... | |
const ModuleEquality & | GetModuleEquality () const |
Return a reference to the owned module equality method instance. More... | |
TVM_DECLARE_BASE_OBJECT_INFO (DatabaseNode, runtime::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) |
Static Public Attributes | |
static constexpr const char * | _type_key = "meta_schedule.Database" |
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... | |
|
explicit |
mod_eq_name | A string to specify the module equality testing and hashing method. It must be one of the followings:
|
|
virtual |
Default destructor.
|
pure virtual |
Add a tuning record to the database.
record | The tuning record to be added. |
Implemented in tvm::meta_schedule::PyDatabaseNode.
|
pure virtual |
Look up or add workload to the database if missing.
mod | The IRModule to be searched for or added. |
Implemented in tvm::meta_schedule::PyDatabaseNode.
void tvm::meta_schedule::DatabaseNode::DumpPruned | ( | Database | destination | ) |
Prune the database and dump it a given database.
destination | The destination database to be dumped to. |
|
pure virtual |
Get all tuning records from the database.
Implemented in tvm::meta_schedule::PyDatabaseNode.
|
inline |
Return a reference to the owned module equality method instance.
|
pure virtual |
Get the top K valid tuning records of given workload from the database.
workload | The workload to be searched for. |
top_k | The number of top records to be returned. |
Implemented in tvm::meta_schedule::PyDatabaseNode.
|
pure virtual |
Check if the database has the given workload.
mod | The IRModule to be searched for. |
Implemented in tvm::meta_schedule::PyDatabaseNode.
|
virtual |
Query the best IRModule of the given workload from the database.
mod | The IRModule to be searched for. |
target | The target to be searched for. |
workload_name | The name of the workload to be searched for. |
Reimplemented in tvm::meta_schedule::PyDatabaseNode.
|
virtual |
Query the best schedule of the given workload from the database.
mod | The IRModule to be searched for. |
target | The target to be searched for. |
workload_name | The name of the workload to be searched for. |
Reimplemented in tvm::meta_schedule::PyDatabaseNode.
|
virtual |
Query the best record of the given workload from the database.
mod | The IRModule to be searched for. |
target | The target to be searched for. |
workload_name | The name of the workload to be searched for. |
Reimplemented in tvm::meta_schedule::PyDatabaseNode.
|
pure virtual |
Get the size of the database.
Implemented in tvm::meta_schedule::PyDatabaseNode.
tvm::meta_schedule::DatabaseNode::TVM_DECLARE_BASE_OBJECT_INFO | ( | DatabaseNode | , |
runtime::Object | |||
) |
|
staticconstexpr |