|
tvm
|
The auto-scheduler's computational graph and related program analyses. More...
#include <tvm/auto_scheduler/loop_state.h>#include <tvm/runtime/c_runtime_api.h>#include <tvm/te/schedule.h>#include <unordered_map>#include <unordered_set>#include <utility>#include <vector>Go to the source code of this file.
Classes | |
| class | tvm::auto_scheduler::AccessAnalyzerNode |
| Static analyzer for a ComputeDAG. More... | |
| class | tvm::auto_scheduler::AccessAnalyzer |
| Managed reference to AccessAnalyzerNode. More... | |
| class | tvm::auto_scheduler::ComputeDAGNode |
| The auto-scheduler's computational graph and related program analyses. More... | |
| class | tvm::auto_scheduler::ComputeDAG |
| Managed reference to ComputeDAGNode. More... | |
Namespaces | |
| tvm | |
| runtime implementation for LibTorch/TorchScript. | |
| tvm::auto_scheduler | |
Enumerations | |
| enum | tvm::auto_scheduler::LayoutRewriteOption : int { tvm::auto_scheduler::LayoutRewriteOption::NoRewrite = 0, tvm::auto_scheduler::LayoutRewriteOption::InsertTransformStage = 1, tvm::auto_scheduler::LayoutRewriteOption::RewriteForPreTransformed = 2 } |
| Options for applying layout rewrite. This is an optimization to rewrite the layout of input tensors according to the schedule we get. More... | |
Functions | |
| Array< PrimExpr > | tvm::auto_scheduler::GetShapeFromRewrittenLayout (String rewritten_layout, Array< String > axis_names) |
| Get the orginal shape from a rewritten layout string. More... | |
The auto-scheduler's computational graph and related program analyses.
We convert a compute declaration described by tvm.compute (could be a single operator or a subgraph) to a ComputeDAG. It keeps the input/output tensors, all operations in the DAG, and some static analysis results for the DAG (e.g. the total float operation count, consumer/producer relations of operations, whether an operation stage should be tiled/compute inlined ...). These analyses can help the search policy to make decisions during the search. ComputeDAG is also responsible for the interaction between auto-scheduler's LoopState and TVM schedule (e.g. applying the LoopState transform steps to a TVM schedule, providing LoopState with extra information got from TVM schedule ...).
1.8.13