tvm
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
tvm::meta_schedule::PyCostModelNode Class Reference

The cost model with customized methods on the python-side. More...

#include <cost_model.h>

Inheritance diagram for tvm::meta_schedule::PyCostModelNode:
Collaboration diagram for tvm::meta_schedule::PyCostModelNode:

Public Types

using FLoad = runtime::TypedPackedFunc< void(String)>
 Load the cost model from given file location. More...
 
using FSave = runtime::TypedPackedFunc< void(String)>
 Save the cost model to given file location. More...
 
using FUpdate = runtime::TypedPackedFunc< void(const TuneContext &, const Array< MeasureCandidate > &, const Array< RunnerResult > &)>
 Update the cost model given running results. More...
 
using FPredict = runtime::TypedPackedFunc< void(const TuneContext &, const Array< MeasureCandidate > &, void *p_addr)>
 Predict the running results of given measure candidates. More...
 
using FAsString = runtime::TypedPackedFunc< String()>
 Get the cost model as string with name. More...
 
- Public Types inherited from tvm::runtime::Object
typedef void(* FDeleter) (Object *self)
 Object deleter. More...
 
using RefCounterType = std::atomic< int32_t >
 

Public Member Functions

void VisitAttrs (tvm::AttrVisitor *v)
 
void Load (const String &path)
 Load the cost model from given file location. More...
 
void Save (const String &path)
 Save the cost model to given file location. More...
 
void Update (const TuneContext &context, const Array< MeasureCandidate > &candidates, const Array< RunnerResult > &results)
 Update the cost model given running results. More...
 
std::vector< double > Predict (const TuneContext &context, const Array< MeasureCandidate > &candidates)
 Predict the normalized score (the larger the better) of given measure candidates. More...
 
 TVM_DECLARE_FINAL_OBJECT_INFO (PyCostModelNode, CostModelNode)
 
- Public Member Functions inherited from tvm::meta_schedule::CostModelNode
virtual ~CostModelNode ()=default
 Virtual destructor. More...
 
void VisitAttrs (tvm::AttrVisitor *v)
 
 TVM_DECLARE_BASE_OBJECT_INFO (CostModelNode, 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)
 
Objectoperator= (const Object &other)
 
Objectoperator= (Object &&other)
 

Public Attributes

FLoad f_load
 The packed function to the Load function. More...
 
FSave f_save
 The packed function to the Save function. More...
 
FUpdate f_update
 The packed function to the Update function. More...
 
FPredict f_predict
 The packed function to the Predict function. More...
 
FAsString f_as_string
 The packed function to the AsString function. More...
 

Static Public Attributes

static constexpr const char * _type_key = "meta_schedule.PyCostModel"
 
- Static Public Attributes inherited from tvm::meta_schedule::CostModelNode
static constexpr const char * _type_key = "meta_schedule.CostModel"
 
- 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

- 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...
 

Detailed Description

The cost model with customized methods on the python-side.

Member Typedef Documentation

◆ FAsString

Get the cost model as string with name.

Returns
The string representation of the cost model.

◆ FLoad

Load the cost model from given file location.

Parameters
pathThe file path.

◆ FPredict

Predict the running results of given measure candidates.

Parameters
contextThe tuning context.
candidatesThe measure candidates.
p_addrThe address to save the estimated running results.

◆ FSave

Save the cost model to given file location.

Parameters
pathThe file path.

◆ FUpdate

Update the cost model given running results.

Parameters
contextThe tuning context.
candidatesThe measure candidates.
resultsThe running results of the measure candidates.
Returns
Whether cost model was updated successfully.

Member Function Documentation

◆ Load()

void tvm::meta_schedule::PyCostModelNode::Load ( const String path)
virtual

Load the cost model from given file location.

Parameters
pathThe file path.

Implements tvm::meta_schedule::CostModelNode.

◆ Predict()

std::vector<double> tvm::meta_schedule::PyCostModelNode::Predict ( const TuneContext context,
const Array< MeasureCandidate > &  candidates 
)
virtual

Predict the normalized score (the larger the better) of given measure candidates.

Parameters
contextThe tuning context.
candidatesThe measure candidates.
Returns
The predicted normalized score.

Implements tvm::meta_schedule::CostModelNode.

◆ Save()

void tvm::meta_schedule::PyCostModelNode::Save ( const String path)
virtual

Save the cost model to given file location.

Parameters
pathThe file path.

Implements tvm::meta_schedule::CostModelNode.

◆ TVM_DECLARE_FINAL_OBJECT_INFO()

tvm::meta_schedule::PyCostModelNode::TVM_DECLARE_FINAL_OBJECT_INFO ( PyCostModelNode  ,
CostModelNode   
)

◆ Update()

void tvm::meta_schedule::PyCostModelNode::Update ( const TuneContext context,
const Array< MeasureCandidate > &  candidates,
const Array< RunnerResult > &  results 
)
virtual

Update the cost model given running results.

Parameters
contextThe tuning context.
candidatesThe measure candidates.
resultsThe running results of the measure candidates.

Implements tvm::meta_schedule::CostModelNode.

◆ VisitAttrs()

void tvm::meta_schedule::PyCostModelNode::VisitAttrs ( tvm::AttrVisitor v)
inline

Member Data Documentation

◆ _type_key

constexpr const char* tvm::meta_schedule::PyCostModelNode::_type_key = "meta_schedule.PyCostModel"
staticconstexpr

◆ f_as_string

FAsString tvm::meta_schedule::PyCostModelNode::f_as_string

The packed function to the AsString function.

◆ f_load

FLoad tvm::meta_schedule::PyCostModelNode::f_load

The packed function to the Load function.

◆ f_predict

FPredict tvm::meta_schedule::PyCostModelNode::f_predict

The packed function to the Predict function.

◆ f_save

FSave tvm::meta_schedule::PyCostModelNode::f_save

The packed function to the Save function.

◆ f_update

FUpdate tvm::meta_schedule::PyCostModelNode::f_update

The packed function to the Update function.


The documentation for this class was generated from the following file: