MLIR: include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9 #ifndef MLIR_DIALECT_MESH_INTERFACES_SHARDINGINTERFACE_H_

10 #define MLIR_DIALECT_MESH_INTERFACES_SHARDINGINTERFACE_H_

11

16

17 namespace mlir {

18

19 class Operation;

20 class IRMapping;

21 class SymbolTableCollection;

22

23 namespace mesh {

24

27

29

30

33

34

35

40 assert(this->mesh);

41 }

44 res.empty = true;

45 return res;

46 }

47 };

48

49

50

52

53

54

56

57 namespace detail {

58

59 FailureOr

62

63 FailureOr<std::vector>

66

67 LogicalResult

70

71 }

72

73

81

82 }

83 }

84

85

86 #include "mlir/Dialect/Mesh/Interfaces/ShardingInterface.h.inc"

87

88 #endif

A symbol reference with a reference path containing a single element.

This is a utility class for mapping one set of IR entities to another.

This class helps build Operations.

This class represents an operand of an operation.

This is a value defined by a result of an operation.

Operation is the basic unit of execution within MLIR.

This class represents a collection of SymbolTables.

FailureOr< std::vector< MeshSharding > > defaultGetShardingAnnotations(Operation *op, const ShardingOption &shardingOption)

LogicalResult defaultAddShardingAnnotations(Operation *op, OpBuilder &b, const ShardingOption &shardingOption)

FailureOr< ShardingOption > defaultGetShardingOption(Operation *op, ArrayRef< MeshSharding > operandShardings, ArrayRef< MeshSharding > resultShardings)

void spmdizeFullyReplicatedOperation(Operation &op, ArrayRef< Value > spmdizedOperands, ArrayRef< MeshSharding > operandShardings, ArrayRef< MeshSharding > resultShardings, IRMapping &spmdizationMap, SymbolTableCollection &symbolTable, OpBuilder &builder)

FailureOr< std::pair< bool, MeshSharding > > getMeshSharding(OpResult result)

Include the generated interface declarations.

ShardingArray shardingArray

static ShardingOption makeEmpty()

ShardingOption(ShardingArray shardingArray, FlatSymbolRefAttr mesh)