tvm
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Namespaces | Functions
feature.h File Reference

Feature extraction for the cost model. We extract one feature vector per BufferStoreNode statement in a TIR Stmt, so we call this feature as "per-store" feature. The cost model also does prediction for each BufferStoreNode statement and aggregates the predictions as the whole score for a TVM IR (Stmt). More...

#include <tvm/auto_scheduler/compute_dag.h>
#include <tvm/auto_scheduler/measure.h>
#include <tvm/tir/function.h>
#include <string>
#include <vector>
Include dependency graph for feature.h:

Go to the source code of this file.

Namespaces

 tvm
 runtime implementation for LibTorch/TorchScript.
 
 tvm::auto_scheduler
 

Functions

void tvm::auto_scheduler::GetPerStoreFeature (const PrimFunc &func, int cache_line_size, int max_n_bufs, std::vector< float > *ret, bool log_scale=true)
 Get per-store features from a TIR PrimFunc. More...
 
void tvm::auto_scheduler::GetPerStoreFeatureName (int max_n_bufs, std::vector< std::string > *ret)
 
void tvm::auto_scheduler::GetPerStoreFeaturesFromStates (const Array< State > &states, const SearchTask &task, int skip_first_n_feature_extraction, int max_n_bufs, std::vector< std::vector< float >> *features)
 Get per-store feature from states of the same task. More...
 
void tvm::auto_scheduler::GetPerStoreFeaturesFromStates (const Array< State > &states, const std::vector< SearchTask > &tasks, int skip_first_n_feature_extraction, int max_n_bufs, std::vector< std::vector< float >> *features)
 Get per-store feature from states of different tasks. More...
 
void tvm::auto_scheduler::GetPerStoreFeaturesFromFile (const std::string &filename, int max_lines, int max_n_bufs, std::vector< std::vector< float >> *features, std::vector< float > *normalized_throughputs, std::vector< int > *task_ids)
 Get per-store features from a log file. More...
 
void tvm::auto_scheduler::GetPerStoreFeaturesFromMeasurePairs (const Array< MeasureInput > &inputs, const Array< MeasureResult > &results, int skip_first_n_feature_extraction, int max_n_bufs, std::vector< std::vector< float >> *features, std::vector< float > *normalized_throughputs, std::vector< int > *task_ids)
 Get per-store features from measurement input/result pairs. More...
 

Detailed Description

Feature extraction for the cost model. We extract one feature vector per BufferStoreNode statement in a TIR Stmt, so we call this feature as "per-store" feature. The cost model also does prediction for each BufferStoreNode statement and aggregates the predictions as the whole score for a TVM IR (Stmt).

The feature specification is defined by src/auto_scheduler/feature.cc:: FeatureSet