#include <tvm/arith/iter_affine_map.h>
#include <tvm/relax/distributed/struct_info.h>
#include <tvm/relax/expr.h>
#include <tvm/tir/function.h>
#include <tvm/tir/stmt_functor.h>
#include <algorithm>
#include <limits>
#include <string>
#include <tuple>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
Go to the source code of this file.
|
Var | tvm::tir::GetShardingVarFromIndex (PrimExpr index, Map< Var, Range > var_range, arith::Analyzer *analyzer) |
| Suppose we want to shard a buffer along a specific dimension, we need to know how to rewrite the access index of the buffer. To make it simple, we only support the case that the access can be rewritten by changing the extent of an iter var. More...
|
|
void | tvm::relax::distributed::BuildAxisGraphUnary (const Var &output_var, const Call &call, distributed::AxisGroupGraph *axis_group_graph) |
|
void | tvm::relax::distributed::BuildAxisGraphBinary (const Var &output_var, const Call &call, distributed::AxisGroupGraph *axis_group_graph) |
|
void | tvm::relax::distributed::BuildAxisGraphReduce (const Var &output_var, const Call &call, distributed::AxisGroupGraph *axis_group_graph) |
|
void | tvm::relax::distributed::BuildAxisGraphMatmul (const Var &output_var, const Call &call, distributed::AxisGroupGraph *axis_group_graph) |
|
void | tvm::relax::distributed::BuildAxisGraphPermuteDims (const Var &output_var, const Call &call, distributed::AxisGroupGraph *axis_group_graph) |
|
void | tvm::relax::distributed::BuildAxisGraphReshape (const Var &output_var, const Call &call, distributed::AxisGroupGraph *axis_group_graph) |
|
void | tvm::relax::distributed::BuildAxisGraphCallTIR (const Var &output_var, const Call &call, const tir::PrimFunc &func, distributed::AxisGroupGraph *axis_group_graph) |
|