|
MLIR 22.0.0git
|
#include "mlir/Dialect/Shard/Transforms/Passes.h"#include "mlir/Dialect/Shard/IR/ShardDialect.h"#include "mlir/Dialect/Shard/IR/ShardOps.h"#include "mlir/Dialect/Shard/Interfaces/ShardingInterface.h"#include "mlir/IR/Verifier.h"#include "mlir/Interfaces/FunctionInterfaces.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/iterator_range.h"#include "llvm/Support/Debug.h"#include "llvm/Support/raw_ostream.h"#include <algorithm>#include <vector>#include "mlir/Dialect/Shard/Transforms/Passes.h.inc"Go to the source code of this file.
Classes | |
| class | mlir::shard::impl::ShardingPropagationBase< DerivedT > |
| struct | ShardingPropagation |
Namespaces | |
| namespace | mlir |
| Include the generated interface declarations. | |
| namespace | mlir::shard |
| namespace | mlir::shard::impl |
Macros | |
| #define | GEN_PASS_DEF_SHARDINGPROPAGATION |
| #define | DEBUG_TYPE "sharding-propagation" |
| #define | DBGS() |
Enumerations | |
| enum class | ReshardingRquirementKind { NO_RESHARDING = 0 , NO_RESHARDING_FOR_EXPLICIT_ANNOTATIONS , RESHARDING_FOR_EXPLICIT_ANNOTATIONS } |
Functions | |
| std::unique_ptr<::mlir::Pass > | mlir::shard::impl::createShardingPropagation () |
| std::unique_ptr<::mlir::Pass > | mlir::shard::impl::createShardingPropagation (ShardingPropagationOptions options) |
| std::unique_ptr<::mlir::Pass > | mlir::shard::createShardingPropagation () |
| std::unique_ptr<::mlir::Pass > | mlir::shard::createShardingPropagation (ShardingPropagationOptions options) |
| static SmallVector< std::vector< Sharding > > | getOrderedPossibleShardingAttrs (ArrayRef< Sharding > mustShardings, ArrayRef< Sharding > optionalShardings) |
| ReshardingRquirementKind | getReshardingRquirementKind (Operation *op, const std::vector< Sharding > &operandAndResultShardings) |
| static FailureOr< ShardingOption > | selectShardingOption (ShardingInterface shardingOp, ArrayRef< std::vector< Sharding > > possibleOperandShardingAttrs, ArrayRef< std::vector< Sharding > > possibleResultShardingAttrs) |
| static LogicalResult | visitOp (Operation *op, OpBuilder &builder) |
| #define DBGS | ( | ) |
Definition at line 31 of file ShardingPropagation.cpp.
Referenced by ShardingPropagation::runOnOperation(), selectShardingOption(), and visitOp().
| #define DEBUG_TYPE "sharding-propagation" |
Definition at line 30 of file ShardingPropagation.cpp.
| #define GEN_PASS_DEF_SHARDINGPROPAGATION |
Definition at line 25 of file ShardingPropagation.cpp.
|
strong |
| Enumerator | |
|---|---|
| NO_RESHARDING | |
| NO_RESHARDING_FOR_EXPLICIT_ANNOTATIONS | |
| RESHARDING_FOR_EXPLICIT_ANNOTATIONS | |
Definition at line 36 of file ShardingPropagation.cpp.
|
static |
Definition at line 109 of file ShardingPropagation.cpp.
Referenced by visitOp().
| ReshardingRquirementKind getReshardingRquirementKind | ( | Operation * | op, |
| const std::vector< Sharding > & | operandAndResultShardings ) |
Definition at line 156 of file ShardingPropagation.cpp.
Referenced by selectShardingOption().
|
static |
Definition at line 214 of file ShardingPropagation.cpp.
References b, DBGS, getReshardingRquirementKind(), mlir::shard::ShardingOption::makeEmpty(), and NO_RESHARDING.
Referenced by visitOp().
Definition at line 280 of file ShardingPropagation.cpp.
References DBGS, mlir::Operation::emitOpError(), mlir::Operation::getNumOperands(), mlir::Operation::getNumResults(), mlir::Operation::getOpOperands(), getOrderedPossibleShardingAttrs(), mlir::Operation::getResults(), mlir::shard::getSharding(), mlir::Operation::hasTrait(), result, selectShardingOption(), and success().
Referenced by ShardingPropagation::runOnOperation(), and mlir::dataflow::LivenessAnalysis::visitBranchOperand().