MLIR  20.0.0git
Classes | Namespaces | Macros | Typedefs | Functions
MeshOps.h File Reference
#include "mlir/Bytecode/BytecodeOpInterface.h"
#include "mlir/Dialect/Utils/StructuredOpsUtils.h"
#include "mlir/IR/BuiltinTypeInterfaces.h"
#include "mlir/IR/OpDefinition.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/IR/SymbolTable.h"
#include "mlir/Interfaces/DestinationStyleOpInterface.h"
#include "mlir/Interfaces/InferTypeOpInterface.h"
#include "mlir/Interfaces/SideEffectInterfaces.h"
#include "llvm/Support/MathExtras.h"
#include "mlir/Dialect/Mesh/IR/MeshEnums.h.inc"
#include "mlir/Dialect/Mesh/IR/MeshAttributes.h.inc"
#include "mlir/Dialect/Mesh/IR/MeshTypes.h.inc"
#include "mlir/Dialect/Mesh/IR/MeshOps.h.inc"

Go to the source code of this file.

Classes

class  mlir::mesh::MeshSharding
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::mesh
 

Macros

#define GET_ATTRDEF_CLASSES
 
#define GET_TYPEDEF_CLASSES
 
#define GET_OP_CLASSES
 

Typedefs

using mlir::mesh::MeshAxis = int16_t
 
using mlir::mesh::MeshAxesAttr = DenseI16ArrayAttr
 
using mlir::mesh::ShardShapeAttr = DenseI64ArrayAttr
 
using mlir::mesh::HaloSizePairAttr = DenseI64ArrayAttr
 

Functions

bool mlir::mesh::isReductionLoop (utils::IteratorType iType)
 
template<typename T >
void mlir::mesh::removeTrailingEmptySubArray (SmallVector< SmallVector< T >> &array)
 
bool mlir::mesh::isFullReplication (MeshSharding sharding)
 
mesh::MeshOp mlir::mesh::getMeshOrNull (Operation *op, FlatSymbolRefAttr meshSymbol, SymbolTableCollection &symbolTableCollection)
 
mesh::MeshOp mlir::mesh::getMesh (Operation *op, FlatSymbolRefAttr meshSymbol, SymbolTableCollection &symbolTableCollection)
 
template<typename Op >
mesh::MeshOp mlir::mesh::getMesh (Op op, SymbolTableCollection &symbolTableCollection)
 
template<>
mesh::MeshOp mlir::mesh::getMesh< ShardOp > (ShardOp op, SymbolTableCollection &symbolTableCollection)
 
template<typename MeshAxesRange , typename MeshShapeRange >
int64_t mlir::mesh::collectiveProcessGroupSize (MeshAxesRange &&meshAxes, MeshShapeRange &&meshShape)
 
template<typename MeshAxesRange >
int64_t mlir::mesh::collectiveProcessGroupSize (MeshAxesRange &&meshAxes, MeshOp mesh)
 
int64_t mlir::mesh::shardDimension (int64_t dimSize, int64_t shardCount)
 
int64_t mlir::mesh::gatherDimension (int64_t dimSize, int64_t shardCount)
 
ShapedType mlir::mesh::shardShapedType (ShapedType shape, MeshOp mesh, MeshSharding sharding)
 
Type mlir::mesh::shardType (Type type, MeshOp mesh, MeshSharding sharding)
 
void mlir::mesh::maybeInsertTargetShardingAnnotation (MeshSharding sharding, OpOperand &operand, OpBuilder &builder)
 
void mlir::mesh::maybeInsertTargetShardingAnnotation (MeshSharding sharding, OpResult result, OpBuilder &builder)
 
void mlir::mesh::maybeInsertSourceShardingAnnotation (MeshSharding sharding, OpOperand &operand, OpBuilder &builder)
 

Macro Definition Documentation

◆ GET_ATTRDEF_CLASSES

#define GET_ATTRDEF_CLASSES

Definition at line 36 of file MeshOps.h.

◆ GET_OP_CLASSES

#define GET_OP_CLASSES

Definition at line 94 of file MeshOps.h.

◆ GET_TYPEDEF_CLASSES

#define GET_TYPEDEF_CLASSES

Definition at line 91 of file MeshOps.h.