Lines Matching defs:mesh
32 namespace mlir::mesh {
36 /// Lower `mesh.process_multi_index` into expression using
37 /// `mesh.process_linear_index` and `mesh.mesh_shape`.
45 MeshOp mesh = getMesh(op, symbolTableCollection);
46 if (!mesh) {
52 Value linearIndex = builder.create<ProcessLinearIndexOp>(mesh);
53 ValueRange meshShape = builder.create<MeshShapeOp>(mesh).getResults();
61 opAxesIota.resize(mesh.getRank());
89 // the mesh axes.
96 MeshOp mesh = getMesh(op, symbolTableCollection);
97 if (!mesh) {
107 builder.create<ProcessMultiIndexOp>(mesh.getSymName(), op.getMeshAxes())
111 builder.create<MeshShapeOp>(mesh.getSymName(), op.getMeshAxes())
114 createCollectiveProcessGroupSize(mesh, op.getMeshAxes(), builder);
127 "mesh process group size is not supported.");
174 registry.insert<affine::AffineDialect, mesh::MeshDialect>();
185 cf::ControlFlowDialect, mesh::MeshDialect,
201 createCollectiveProcessGroupSize(MeshOp mesh, ArrayRef<MeshAxis> axes,
204 builder.create<mesh::MeshShapeOp>(mesh, axes).getResults();
210 TypedValue<IndexType> createProcessLinearIndex(StringRef mesh,
214 builder.create<ProcessMultiIndexOp>(mesh, meshAxes).getResults();
216 builder.create<MeshShapeOp>(mesh, meshAxes).getResult();
223 } // namespace mlir::mesh