Page MenuHomePhabricator

mravishankar (Mahesh Ravishankar)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 6 2015, 1:11 PM (316 w, 8 h)

Recent Activity

Today

mravishankar added inline comments to D95305: [mlir][Linalg] Add canonicalization for init_tensor -> subtensor op..
Tue, Jan 26, 3:26 PM · Restricted Project

Yesterday

mravishankar added reviewers for D95305: [mlir][Linalg] Add canonicalization for init_tensor -> subtensor op.: silvas, hanchung.
Mon, Jan 25, 9:21 AM · Restricted Project
mravishankar added a comment to D95149: [mlir][Linalg] Add a padding option to Linalg tiling.

THanks Nicolas for the explanation. Code looks fine to me. Still think that this is effectively adding promotion during tiling and doing this on tensors only is strange. Just trying to see if there is a more commonality between buffers and tensors so as to reuse things instead of completely new paths. Lets land and experiment. I understand how this would subsume promotion though.

Mon, Jan 25, 9:21 AM · Restricted Project

Sun, Jan 24

mravishankar added a comment to D95149: [mlir][Linalg] Add a padding option to Linalg tiling.

It should be easy to extend promotion to abort if it doesnt figure out the static sizes when "promotion" is applied to ops with tensor semantics.

The fact that promotion tries to create static buffers is very much due to history and needs to go away.

Here is what happens concretely today to inject static sizes in the memory pipeline:

  1. Promotion creates alloc + fill + copy after some best effort local analysis to try and create a static buffer.
  2. Fingers are crossed so that vectorization succeeds.
  3. After vectorization, LinalgCopyVTRForwardingPattern and LinalgCopyVTWForwardingPattern are applied with a best effort dependence analysis to undo 1. and replace by vector.transfer.
  4. Later masked/unmasked vector.transfer splitting is performed to isolate parts.

In contrast, thanks to the progress on transformations on tensors we can:

  1. Tile on tensors with padding at the level(s) we are interested in.
  2. Hoist, as we wish to create and amortize packing.
  3. Decide which packed tensors materialize in memory, which ones turn into simple subview + control flow and which ones turn into vector transfers.

The implications of padding at the tiling on tensor level are far reaching as you have already seen in IREE, phases are being reordered and Promotion is a bystanding casualty.
See the followup https://reviews.llvm.org/D95243 to get a better idea how things look like after padding + packing.
I would not be surprised that Promotion just gets deleted / becomes part of some bufferization in a not too distant future: the ease with which we can perform transformations thanks to SSA use-def chains is just a no-brainer.

Sun, Jan 24, 10:02 AM · Restricted Project
mravishankar requested review of D95305: [mlir][Linalg] Add canonicalization for init_tensor -> subtensor op..
Sun, Jan 24, 12:29 AM · Restricted Project

Sat, Jan 23

mravishankar added a comment to D95149: [mlir][Linalg] Add a padding option to Linalg tiling.

Promotion is guaranteed to alloc and copy but is not guaranteed to create static shapes.
This in contrast has no guarantees of alloc/copy and is guaranteed to create static shapes.

Sat, Jan 23, 11:25 AM · Restricted Project

Fri, Jan 22

mravishankar closed D95153: [mlir][Linalg] Make Fill operation work on tensors..

Closed by commit 6e8ef3b76ab65960edd6ee99f387e75564d8d9db

Fri, Jan 22, 2:40 PM · Restricted Project
mravishankar committed rG6e8ef3b76ab6: [mlir][Linalg] Make Fill operation work on tensors. (authored by mravishankar).
[mlir][Linalg] Make Fill operation work on tensors.
Fri, Jan 22, 2:40 PM
mravishankar updated the diff for D95153: [mlir][Linalg] Make Fill operation work on tensors..

Rebase and adress comments

Fri, Jan 22, 1:06 PM · Restricted Project
mravishankar committed rG430d43e010bd: [mlir][Linalg] Disable fusion of tensor_reshape op by expansion when unit-dims… (authored by mravishankar).
[mlir][Linalg] Disable fusion of tensor_reshape op by expansion when unit-dims…
Fri, Jan 22, 12:55 PM
mravishankar closed D94626: [mlir][Linalg] Disable fusion of tensor_reshape op by expansion when unit-dims are involved.
Fri, Jan 22, 12:55 PM · Restricted Project
mravishankar updated the diff for D94626: [mlir][Linalg] Disable fusion of tensor_reshape op by expansion when unit-dims are involved.

Rebase

Fri, Jan 22, 12:53 PM · Restricted Project
mravishankar committed rG01defcc8d74e: [mlir][Linalg] Extend tile+fuse to work on Linalg operation on tensors. (authored by mravishankar).
[mlir][Linalg] Extend tile+fuse to work on Linalg operation on tensors.
Fri, Jan 22, 11:34 AM
mravishankar closed D93086: [mlir][Linalg] Extend tile+fuse to work on Linalg operation on tensors..
Fri, Jan 22, 11:34 AM · Restricted Project
mravishankar committed rGbce318f58da3: [mlir][Linalg] NFC: Refactor LinalgDependenceGraphElem to allow (authored by mravishankar).
[mlir][Linalg] NFC: Refactor LinalgDependenceGraphElem to allow
Fri, Jan 22, 11:21 AM
mravishankar closed D95208: [mlir][Linalg] NFC: Refactor LinalgDependenceGraphElem to allow representing dependence from producer result to consumer..
Fri, Jan 22, 11:21 AM · Restricted Project
mravishankar added a comment to D95149: [mlir][Linalg] Add a padding option to Linalg tiling.

This feels like it is promotion on tensors with the linalg.simple_pad (for now and linalg.pad later) being used instead of the alloc(...) ; copy(...) method. So the tensor "promotion" and buffer promotion are living in entirely different places. Ill go deeper into this code, but my read of the tests informs this comment.

Fri, Jan 22, 10:51 AM · Restricted Project
mravishankar updated the diff for D94531: [mlir][Linalg] Enable TileAndFusePattern to work with tensors..

Removing errant function.

Fri, Jan 22, 10:36 AM · Restricted Project
mravishankar updated the diff for D94531: [mlir][Linalg] Enable TileAndFusePattern to work with tensors..

Rebase on top of enhancements to LinalgDependenceGraph allowing
dependence tracking through results.

Fri, Jan 22, 10:34 AM · Restricted Project
mravishankar updated the diff for D93086: [mlir][Linalg] Extend tile+fuse to work on Linalg operation on tensors..

Rebase on top of change to LinalgDependenceGraph that accounts for
tracking dependence through result values.

Fri, Jan 22, 10:33 AM · Restricted Project
mravishankar accepted D95237: [mlir][spirv] Define spv.IsNan/spv.IsInf and add lowerings.

Oh thanks for fixing this. I did see the Kernel capability requirement. Got confused about it not being valid for Shader

Fri, Jan 22, 9:10 AM · Restricted Project
mravishankar accepted D95236: [mlir][spirv] Fix script for availability autogen and refresh ops.
Fri, Jan 22, 9:08 AM · Restricted Project

Thu, Jan 21

mravishankar requested review of D95208: [mlir][Linalg] NFC: Refactor LinalgDependenceGraphElem to allow representing dependence from producer result to consumer..
Thu, Jan 21, 11:49 PM · Restricted Project
mravishankar updated the diff for D95153: [mlir][Linalg] Make Fill operation work on tensors..

Rebase

Thu, Jan 21, 12:42 PM · Restricted Project
mravishankar updated the diff for D95153: [mlir][Linalg] Make Fill operation work on tensors..

Adding test for tiling of fill op on tensor

Thu, Jan 21, 12:41 PM · Restricted Project
mravishankar requested review of D95153: [mlir][Linalg] Make Fill operation work on tensors..
Thu, Jan 21, 11:05 AM · Restricted Project
mravishankar committed rG615167c9f749: [mlir]][SPIRV] Define OrderedOp and UnorderedOp and add lowerings from Standard. (authored by mravishankar).
[mlir]][SPIRV] Define OrderedOp and UnorderedOp and add lowerings from Standard.
Thu, Jan 21, 7:57 AM
mravishankar closed D95098: [mlir]][SPIRV] Define OrderedOp and UnorderedOp and add lowerings from Standard..
Thu, Jan 21, 7:57 AM · Restricted Project
mravishankar committed rG4234292ecf49: [mlir][SPIRV] Rename OpSpecConstantOperation -> OpSpecConstantOp (authored by mravishankar).
[mlir][SPIRV] Rename OpSpecConstantOperation -> OpSpecConstantOp
Thu, Jan 21, 7:57 AM
mravishankar closed D95097: [mlir][SPIRV] Rename OpSpecConstantOperation -> OpSpecConstantOp.
Thu, Jan 21, 7:56 AM · Restricted Project

Wed, Jan 20

mravishankar requested review of D95098: [mlir]][SPIRV] Define OrderedOp and UnorderedOp and add lowerings from Standard..
Wed, Jan 20, 2:47 PM · Restricted Project
mravishankar requested review of D95097: [mlir][SPIRV] Rename OpSpecConstantOperation -> OpSpecConstantOp.
Wed, Jan 20, 2:47 PM · Restricted Project

Fri, Jan 15

mravishankar accepted D94826: [mlir][NFC] Move helper substWithMin into Affine utils.
Fri, Jan 15, 3:02 PM · Restricted Project
mravishankar committed rGd7bc3b7ce23b: [mlir][Linalg] Add missing check to canonicalization of GenericOp that are… (authored by mravishankar).
[mlir][Linalg] Add missing check to canonicalization of GenericOp that are…
Fri, Jan 15, 1:56 PM
mravishankar closed D94819: [mlir][Linalg] Add missing check to canonicalization of GenericOp that are identity ops..
Fri, Jan 15, 1:55 PM · Restricted Project
mravishankar added a comment to D94819: [mlir][Linalg] Add missing check to canonicalization of GenericOp that are identity ops..

LGTM, but ot sounds like you might want to add some more testing as well. A payload that returns an argument of the enclosing function would be enough.

Fri, Jan 15, 1:18 PM · Restricted Project
mravishankar updated the diff for D94819: [mlir][Linalg] Add missing check to canonicalization of GenericOp that are identity ops..

Add a test

Fri, Jan 15, 1:17 PM · Restricted Project
mravishankar added reviewers for D94819: [mlir][Linalg] Add missing check to canonicalization of GenericOp that are identity ops.: silvas, hanchung.
Fri, Jan 15, 12:50 PM · Restricted Project
mravishankar added a reviewer for D94819: [mlir][Linalg] Add missing check to canonicalization of GenericOp that are identity ops.: rsuderman.
Fri, Jan 15, 12:50 PM · Restricted Project
mravishankar requested review of D94819: [mlir][Linalg] Add missing check to canonicalization of GenericOp that are identity ops..
Fri, Jan 15, 12:50 PM · Restricted Project

Thu, Jan 14

mravishankar added inline comments to D94531: [mlir][Linalg] Enable TileAndFusePattern to work with tensors..
Thu, Jan 14, 4:58 PM · Restricted Project
mravishankar updated the diff for D93086: [mlir][Linalg] Extend tile+fuse to work on Linalg operation on tensors..

Address comments.

Thu, Jan 14, 4:53 PM · Restricted Project
mravishankar added inline comments to D93086: [mlir][Linalg] Extend tile+fuse to work on Linalg operation on tensors..
Thu, Jan 14, 4:52 PM · Restricted Project
mravishankar updated the diff for D93086: [mlir][Linalg] Extend tile+fuse to work on Linalg operation on tensors..

Rebase

Thu, Jan 14, 4:52 PM · Restricted Project
mravishankar committed rG42444d0cf0c9: [mlir][Linalg] NFC: Verify tiling on linalg.generic operation on tensors. (authored by mravishankar).
[mlir][Linalg] NFC: Verify tiling on linalg.generic operation on tensors.
Thu, Jan 14, 4:17 PM
mravishankar committed rG774c9c6ef3ad: [mlir][Linalg] Add canonicalization of linalg op -> dim op. (authored by mravishankar).
[mlir][Linalg] Add canonicalization of linalg op -> dim op.
Thu, Jan 14, 4:17 PM
mravishankar closed D93077: [mlir][Linalg] NFC: Verify tiling on linalg.generic operation on tensors..
Thu, Jan 14, 4:17 PM · Restricted Project
mravishankar closed D93076: [mlir][Linalg] Add canonicalization of linalg op -> dim op..
Thu, Jan 14, 4:17 PM · Restricted Project
mravishankar added inline comments to D93076: [mlir][Linalg] Add canonicalization of linalg op -> dim op..
Thu, Jan 14, 3:49 PM · Restricted Project
mravishankar updated the diff for D93076: [mlir][Linalg] Add canonicalization of linalg op -> dim op..

Rebase

Thu, Jan 14, 3:47 PM · Restricted Project
mravishankar committed rG722ae10907e0: [mlir][Linalg] Add canonicalization to remove no-op linalg operations. (authored by mravishankar).
[mlir][Linalg] Add canonicalization to remove no-op linalg operations.
Thu, Jan 14, 3:00 PM
mravishankar closed D94581: [mlir][Linalg] Add canonicalization to remove no-op linalg operations..
Thu, Jan 14, 2:59 PM · Restricted Project
mravishankar updated the diff for D93076: [mlir][Linalg] Add canonicalization of linalg op -> dim op..

Address comments

Thu, Jan 14, 2:57 PM · Restricted Project
mravishankar added inline comments to D94581: [mlir][Linalg] Add canonicalization to remove no-op linalg operations..
Thu, Jan 14, 10:27 AM · Restricted Project
mravishankar updated the diff for D94581: [mlir][Linalg] Add canonicalization to remove no-op linalg operations..

Address comments

Thu, Jan 14, 10:26 AM · Restricted Project

Wed, Jan 13

mravishankar added a reviewer for D94626: [mlir][Linalg] Disable fusion of tensor_reshape op by expansion when unit-dims are involved: hanchung.
Wed, Jan 13, 11:43 AM · Restricted Project
mravishankar requested review of D94626: [mlir][Linalg] Disable fusion of tensor_reshape op by expansion when unit-dims are involved.
Wed, Jan 13, 11:42 AM · Restricted Project

Tue, Jan 12

mravishankar added reviewers for D94581: [mlir][Linalg] Add canonicalization to remove no-op linalg operations.: antiagainst, hanchung, silvas, ThomasRaoux.
Tue, Jan 12, 9:39 PM · Restricted Project
mravishankar requested review of D94581: [mlir][Linalg] Add canonicalization to remove no-op linalg operations..
Tue, Jan 12, 9:38 PM · Restricted Project
mravishankar added reviewers for D94531: [mlir][Linalg] Enable TileAndFusePattern to work with tensors.: antiagainst, hanchung, ThomasRaoux.
Tue, Jan 12, 10:13 AM · Restricted Project
mravishankar requested review of D94531: [mlir][Linalg] Enable TileAndFusePattern to work with tensors..
Tue, Jan 12, 10:11 AM · Restricted Project
mravishankar updated the diff for D93086: [mlir][Linalg] Extend tile+fuse to work on Linalg operation on tensors..

Rebase

Tue, Jan 12, 10:11 AM · Restricted Project

Mon, Jan 11

mravishankar added a comment to D93704: [mlir][Linalg] Introduce linalg.pad_tensor op..

Catching up on the discussion after break here. I agree the design is flawed. The strides are wrong of the result memref. As defined right now that would mean that lowering the memref will need to look at where the memref is coming from which is really wrong. You could return a memref with the strides embedded into the memref type so that it works fine, but I dont think that fully works either. I think Hanhan had a fix to this shortly. Thanks for the feedback!

Mon, Jan 11, 10:47 AM · Restricted Project
mravishankar accepted D94360: [mlir][spirv] NFC: split deserialization into multiple source files.
Mon, Jan 11, 10:43 AM · Restricted Project
mravishankar accepted D94413: [mlir][spirv] NFC: place ops in the proper file for their categories.
Mon, Jan 11, 10:40 AM · Restricted Project
mravishankar added a comment to D93076: [mlir][Linalg] Add canonicalization of linalg op -> dim op..

Going through my unreviewed stack, note that with the revamp of linalg on tensors @pifon2a sent a diff today that implements the functionality with out tensors,

Mon, Jan 11, 10:26 AM · Restricted Project
mravishankar updated the diff for D93077: [mlir][Linalg] NFC: Verify tiling on linalg.generic operation on tensors..

Rebase and add extra test

Mon, Jan 11, 10:24 AM · Restricted Project
mravishankar updated the diff for D93076: [mlir][Linalg] Add canonicalization of linalg op -> dim op..

Rebase

Mon, Jan 11, 10:23 AM · Restricted Project
mravishankar committed rGc4486cfd5568: [mlir][Linalg] Fix reshape fusion to reshape the outs instead of creating new… (authored by mravishankar).
[mlir][Linalg] Fix reshape fusion to reshape the outs instead of creating new…
Mon, Jan 11, 9:27 AM
mravishankar closed D93774: [mlir][Linalg] Fix reshape fusion to reshape the outs instead of creating new tensors..
Mon, Jan 11, 9:26 AM · Restricted Project
mravishankar committed rG9c0dc0b2c1cc: [mlir][Linalg] Fold init_tensor -> linalg.tensor_reshape. (authored by mravishankar).
[mlir][Linalg] Fold init_tensor -> linalg.tensor_reshape.
Mon, Jan 11, 9:23 AM
mravishankar closed D93773: [mlir][Linalg] Fold init_tensor -> linalg.tensor_reshape..
Mon, Jan 11, 9:23 AM · Restricted Project

Fri, Jan 8

mravishankar updated the diff for D93773: [mlir][Linalg] Fold init_tensor -> linalg.tensor_reshape..

Fix build errors

Fri, Jan 8, 3:19 PM · Restricted Project
mravishankar updated the diff for D93773: [mlir][Linalg] Fold init_tensor -> linalg.tensor_reshape..

Address comments

Fri, Jan 8, 2:23 PM · Restricted Project
mravishankar added inline comments to D93773: [mlir][Linalg] Fold init_tensor -> linalg.tensor_reshape..
Fri, Jan 8, 2:22 PM · Restricted Project
mravishankar committed rGfa8c397dfa2a: [mlir][Linalg] NFC: Refactor fusion of LinalgOp with TensorReshapeOp by… (authored by mravishankar).
[mlir][Linalg] NFC: Refactor fusion of LinalgOp with TensorReshapeOp by…
Fri, Jan 8, 11:59 AM
mravishankar closed D93748: [mlir][Linalg] NFC: Refactor fusion of LinalgOp with TensorReshapeOp by expansion..
Fri, Jan 8, 11:59 AM · Restricted Project
mravishankar abandoned D93824: [DO NOT REVIEW].
Fri, Jan 8, 11:27 AM · Restricted Project
mravishankar added a comment to D93748: [mlir][Linalg] NFC: Refactor fusion of LinalgOp with TensorReshapeOp by expansion..

Addressed remaining minor comments

Fri, Jan 8, 11:24 AM · Restricted Project
mravishankar updated the diff for D93748: [mlir][Linalg] NFC: Refactor fusion of LinalgOp with TensorReshapeOp by expansion..

Minor comment addressed

Fri, Jan 8, 11:16 AM · Restricted Project
mravishankar committed rGec13f6c3e569: [mlir][Linalg] Add verification checks to disallow illegal reshape ops. (authored by mravishankar).
[mlir][Linalg] Add verification checks to disallow illegal reshape ops.
Fri, Jan 8, 10:55 AM
mravishankar closed D93724: [mlir][Linalg] Add verification checks to disallow illegal reshape ops..
Fri, Jan 8, 10:55 AM · Restricted Project
mravishankar updated the diff for D93774: [mlir][Linalg] Fix reshape fusion to reshape the outs instead of creating new tensors..

Rebase

Fri, Jan 8, 10:23 AM · Restricted Project
mravishankar updated the diff for D93773: [mlir][Linalg] Fold init_tensor -> linalg.tensor_reshape..

Rebase

Fri, Jan 8, 10:23 AM · Restricted Project
mravishankar updated the diff for D93748: [mlir][Linalg] NFC: Refactor fusion of LinalgOp with TensorReshapeOp by expansion..

Rebase

Fri, Jan 8, 10:23 AM · Restricted Project
mravishankar updated the diff for D93724: [mlir][Linalg] Add verification checks to disallow illegal reshape ops..

Rebase

Fri, Jan 8, 10:22 AM · Restricted Project
mravishankar updated the diff for D93824: [DO NOT REVIEW].

Rebase

Fri, Jan 8, 10:22 AM · Restricted Project

Sat, Jan 2

mravishankar added inline comments to D93748: [mlir][Linalg] NFC: Refactor fusion of LinalgOp with TensorReshapeOp by expansion..
Sat, Jan 2, 11:02 AM · Restricted Project

Dec 26 2020

mravishankar added inline comments to D93086: [mlir][Linalg] Extend tile+fuse to work on Linalg operation on tensors..
Dec 26 2020, 1:32 PM · Restricted Project
mravishankar updated the diff for D93774: [mlir][Linalg] Fix reshape fusion to reshape the outs instead of creating new tensors..

Rebase

Dec 26 2020, 1:09 PM · Restricted Project
mravishankar updated the diff for D93773: [mlir][Linalg] Fold init_tensor -> linalg.tensor_reshape..

Rebase

Dec 26 2020, 1:08 PM · Restricted Project
mravishankar updated the diff for D93748: [mlir][Linalg] NFC: Refactor fusion of LinalgOp with TensorReshapeOp by expansion..

Rebase

Dec 26 2020, 1:08 PM · Restricted Project
mravishankar updated the diff for D93724: [mlir][Linalg] Add verification checks to disallow illegal reshape ops..

Rebase

Dec 26 2020, 1:08 PM · Restricted Project
mravishankar updated the diff for D93824: [DO NOT REVIEW].

Rebase

Dec 26 2020, 1:07 PM · Restricted Project
mravishankar abandoned D93180: [mlir][Linalg] Account for the case where loop bounds depend on output shape..

Dont need this anymore. Abondoning.

Dec 26 2020, 1:06 PM · Restricted Project
mravishankar added inline comments to D93748: [mlir][Linalg] NFC: Refactor fusion of LinalgOp with TensorReshapeOp by expansion..
Dec 26 2020, 1:06 PM · Restricted Project
mravishankar added a comment to D93724: [mlir][Linalg] Add verification checks to disallow illegal reshape ops..

This patch also move "invalid" tests to roundtrip.mlir file, which is not related to patch description. Could we split it into two patches?

Dec 26 2020, 10:41 AM · Restricted Project
mravishankar updated the diff for D93086: [mlir][Linalg] Extend tile+fuse to work on Linalg operation on tensors..

Rebase on chnages to linalg on tensors

Dec 26 2020, 10:34 AM · Restricted Project
mravishankar updated the diff for D93077: [mlir][Linalg] NFC: Verify tiling on linalg.generic operation on tensors..

Rebase

Dec 26 2020, 10:33 AM · Restricted Project
mravishankar updated the diff for D93076: [mlir][Linalg] Add canonicalization of linalg op -> dim op..

Rebase

Dec 26 2020, 10:31 AM · Restricted Project