Page MenuHomePhabricator

silvas (Sean Silva)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 20 2012, 11:51 AM (514 w, 3 d)

Recent Activity

Wed, Jun 29

silvas added a comment to D128575: Adding a new variant of DepthwiseConv2D.

@MaheshRavishankar -- is there a risk that this op will be optimized worse due to not being recognized as well as the regular depthwise?

Wed, Jun 29, 5:53 PM · Restricted Project, Restricted Project

Wed, Jun 8

silvas added a comment to D127225: Adding a named op for grouped convolutions.

I think it makes more sense for it to be major, if only for legibility's sake.

Wed, Jun 8, 11:16 AM · Restricted Project, Restricted Project

Tue, Jun 7

silvas added a comment to D127225: Adding a named op for grouped convolutions.

I suspect the g dimension should be contiguous with the C dimension, and I'm not sure if it should be major or minor to it.

Tue, Jun 7, 10:16 AM · Restricted Project, Restricted Project

May 20 2022

silvas accepted D126003: [mlir][bufferization] Add bufferization.alloc_tensor op.

This direction makes sense to me. I am a little out of the loop from the current bufferization interfaces, so I will let someone else review the code in detail.

May 20 2022, 5:37 AM · Restricted Project, Restricted Project

Apr 20 2022

silvas resigned from D123669: [ArgPromotion] Use a Visited set to protect dead instruction collection.
Apr 20 2022, 4:34 PM · Restricted Project, Restricted Project

Apr 19 2022

silvas committed rG25c218be36d7: [MLIR] Add function to create BFloat16 array attribute (authored by ashay).
[MLIR] Add function to create BFloat16 array attribute
Apr 19 2022, 12:27 PM · Restricted Project, Restricted Project
silvas closed D123981: [MLIR] Add function to create BFloat16 array attribute.
Apr 19 2022, 12:27 PM · Restricted Project, Restricted Project

Apr 11 2022

silvas added a comment to D120203: [mlir] Introduce ml_program dialect..

Can you add a pass / reusable pattern that converts ml_program.func to func.func and the reverse? Otherwise I feel like we are going to roll that many times downstream just for our initial push in IREE (can be a separate patch of course).

Apr 11 2022, 4:34 PM · Restricted Project, Restricted Project, Restricted Project
silvas added inline comments to D120203: [mlir] Introduce ml_program dialect..
Apr 11 2022, 11:14 AM · Restricted Project, Restricted Project, Restricted Project

Apr 8 2022

silvas added inline comments to D120203: [mlir] Introduce ml_program dialect..
Apr 8 2022, 1:35 PM · Restricted Project, Restricted Project, Restricted Project
silvas accepted D123360: [mlir] Remove the use of FilterTypes for template metaprogramming.

Nice :)

Apr 8 2022, 10:46 AM · Restricted Project, Restricted Project

Apr 6 2022

silvas added a comment to D122880: [mlir] Allow for using OpPassManager in pass options.

You can see my full code here: https://github.com/silvasean/iree/commit/cba1cf90fa8e8cc9b3bdacfd034f7d53c40661ad

Apr 6 2022, 2:53 PM · Restricted Project, Restricted Project
silvas added a comment to D122880: [mlir] Allow for using OpPassManager in pass options.

Hey River, I was trying to use this downstream and it isn't working for me

Apr 6 2022, 2:51 PM · Restricted Project, Restricted Project
silvas accepted D123183: [mlir-vscode] Fix processing of files not within the workspace.

Thanks for fixing this River :)

Apr 6 2022, 11:18 AM · Restricted Project, Restricted Project

Apr 1 2022

silvas accepted D122880: [mlir] Allow for using OpPassManager in pass options.

Thanks River!

Apr 1 2022, 12:39 PM · Restricted Project, Restricted Project

Mar 31 2022

silvas added a comment to D92522: [SmallVector] Allow SmallVector<T>.

Left a comment there.

Mar 31 2022, 10:05 AM · Restricted Project, Restricted Project

Mar 21 2022

silvas added a comment to D122142: [mlir] Rename `OpAsmParser::OperandType` to `OpAsmParser::UnresolvedOperand`.

Thank you for tackling this! I agree that "OperandType" isn't the right thing, but I don't think "OperandReference" is either. The key thing about this is that it models an occurrence of an SSA value in an operand position, but without having a type applied to it. "Operand" and "Reference" are somewhat redundant.

What do you think about a name like "UnboundOperand" or "OperandWithoutAType" (joking but may you have a better idea) or OperandSyntax or LexicalOperand?

Hmm. One of the names I had in mind as well was "OperandOccurrence". From the names you listed I like "UnboundOperand" the most (bit of a symmetry with resolveOperands as well).
I don't have a very strong opinion of any of those names however (except maybe "OperandWithoutAType" :) ).

Mar 21 2022, 9:52 AM · Restricted Project, Restricted Project, Restricted Project

Mar 10 2022

silvas accepted D121362: [mlir][bufferize][NFC] Deallocate all buffers at the end of bufferization.
Mar 10 2022, 9:04 AM · Restricted Project, Restricted Project
silvas removed a reviewer for D121362: [mlir][bufferize][NFC] Deallocate all buffers at the end of bufferization: springerm.
Mar 10 2022, 9:02 AM · Restricted Project, Restricted Project
silvas added a reviewer for D121362: [mlir][bufferize][NFC] Deallocate all buffers at the end of bufferization: springerm.
Mar 10 2022, 9:01 AM · Restricted Project, Restricted Project

Feb 17 2022

silvas accepted D119935: [mlir][bufferize] Partly support memrefs with non-standard layout in `finalizing-bufferize`.
Feb 17 2022, 12:01 PM · Restricted Project

Dec 17 2021

silvas added inline comments to D115878: Add lowering of tensor.insert op..
Dec 17 2021, 5:44 PM · Restricted Project
silvas added inline comments to D115878: Add lowering of tensor.insert op..
Dec 17 2021, 5:43 PM · Restricted Project

Dec 13 2021

silvas accepted D115665: [mlir] Split std.rank into tensor.rank and memref.rank..

nice :)

Dec 13 2021, 4:27 PM · Restricted Project

Nov 22 2021

silvas updated subscribers of D114384: Fix expand folder to avoid folding memref cast.

The idea here of preventing invalid ops makes sense to me, but @herhut probably is more knowledgeable about this code for a detailed review.

Nov 22 2021, 12:50 PM · Restricted Project, Restricted Project

Nov 11 2021

silvas accepted D113641: [llvm] Add a SFINAE template parameter to DenseMapInfo.

Nice :) This looks pretty straightforward, but given how core this is, wait for another approver or two.

Nov 11 2021, 11:14 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Nov 8 2021

silvas added a comment to D111594: [MLIR] Attribute and type formats in ODS.

Yay!!

Nov 8 2021, 11:12 AM · Restricted Project

Nov 2 2021

silvas added a comment to D111620: [mlir:DialectConversion] Restructure how argument/target materializations get invoked.

This change broke 1->N type conversion (as noted in a FIXME in here). This is really unfortunate and there doesn't seem to be any workaround now that the materialization is deferred and the casts are inserted in a way that doesn't allow for patterns to match them. Is this something that can be rolled back or fixed soon? 1->N type conversion during dialect conversion did work before this change so this is a regression.

The FIXME is more of further elaborating on the existing state, it was not some new problem added by this patch. Can you file a bug report with what your exact situation is?

Nov 2 2021, 4:49 PM · Restricted Project

Nov 1 2021

silvas accepted D112968: [NFC] Add size inference to to_vector.

This looks good to me. @rriddle @dexonsmith @dblaikie for thoughts.

Nov 1 2021, 4:27 PM · Restricted Project

Oct 28 2021

silvas added a comment to D112736: [mlir] MathApproximations: unroll virtual vectors into hardware vectors for ISA specific operation.

Basically add a pass something like X86vectorMathApproximationsPass?

Oct 28 2021, 2:55 PM · Restricted Project
silvas added a comment to D112736: [mlir] MathApproximations: unroll virtual vectors into hardware vectors for ISA specific operation.
  1. I would just like Math dialect transforms to not depend on target-specific dialects. So concretely just RsqrtOpApproximation pattern would move to x86vector/Transform/, since it is the target specific one.
  2. I agree, removing Polynomial would be good.
Oct 28 2021, 2:42 PM · Restricted Project
silvas added a comment to D112736: [mlir] MathApproximations: unroll virtual vectors into hardware vectors for ISA specific operation.

Can we move this RsqrtOp lowering to the x86vector dialect? It seems really out of place in the math dialect, which should remain target agnostic. (also, since this approximation is newton-raphson based instead of polynomial based, it seems out of place in PolynomialApproximation.cpp as well)

Oct 28 2021, 2:27 PM · Restricted Project
silvas added a comment to D112736: [mlir] MathApproximations: unroll virtual vectors into hardware vectors for ISA specific operation.

This doesn't seem to be the right pass to do target-specific lowerings. Can you add math.rsqrt and move the vector unrolling to a generic pass in the vector dialect? Then this pass wouldn't depend on target-details.

Oct 28 2021, 2:05 PM · Restricted Project

Oct 26 2021

silvas added a comment to D111620: [mlir:DialectConversion] Restructure how argument/target materializations get invoked.

Glad to see this happening!

Oct 26 2021, 10:28 PM · Restricted Project

Oct 25 2021

silvas committed rGf1b922188ead: [MLIR][Math] Add erf to math dialect (authored by sogartar).
[MLIR][Math] Add erf to math dialect
Oct 25 2021, 11:31 AM
silvas closed D112200: [MLIR][Math] Add erf to math dialect.
Oct 25 2021, 11:31 AM · Restricted Project

Oct 21 2021

silvas added a comment to D112120: [mlir:GreedyPatternRewriter] Add debug logging for pattern rewriter actions.

nice!

Oct 21 2021, 11:28 AM · Restricted Project
silvas accepted D112200: [MLIR][Math] Add erf to math dialect.

LGTM. Probably wait for another pair of eyes to LGTM it. @ezhulenev perhaps?

Oct 21 2021, 11:26 AM · Restricted Project

Oct 11 2021

silvas added a comment to D111540: [mlir] add user-level documentation for Python bindings.

Thanks!!!

Oct 11 2021, 9:52 AM · Restricted Project

Oct 6 2021

silvas added inline comments to D110768: [MLIR] Introduce the type inference pass..
Oct 6 2021, 4:50 PM · Restricted Project
silvas added inline comments to D110768: [MLIR] Introduce the type inference pass..
Oct 6 2021, 3:27 PM · Restricted Project
silvas added inline comments to D110768: [MLIR] Introduce the type inference pass..
Oct 6 2021, 12:13 PM · Restricted Project

Oct 5 2021

silvas accepted D110766: [MLIR] Rename Shape dialect's `join` to `meet`..
Oct 5 2021, 4:24 PM · Restricted Project
silvas added a comment to D111139: [mlir] Don't allow dynamic extent tensor types for ConstShapeOp..

I think it's fine for const_shape to always be static and require a tensor.cast to erase the static shape to dynamic.

Oct 5 2021, 10:04 AM · Restricted Project

Oct 4 2021

silvas accepted D111046: [mlir] rename the "packing" flag of linalg.pad_tensor to "nofold".

Thanks!

Oct 4 2021, 11:58 AM · Restricted Project

Sep 30 2021

silvas accepted D110766: [MLIR] Rename Shape dialect's `join` to `meet`..
Sep 30 2021, 1:25 PM · Restricted Project
silvas added a comment to D110766: [MLIR] Rename Shape dialect's `join` to `meet`..

+1 to Jacques suggestion to listing some prior art here. In the project ideally or in the industry as well would be good.

Sep 30 2021, 1:25 PM · Restricted Project
silvas added inline comments to D110768: [MLIR] Introduce the type inference pass..
Sep 30 2021, 1:02 PM · Restricted Project
silvas added inline comments to D110768: [MLIR] Introduce the type inference pass..
Sep 30 2021, 12:58 PM · Restricted Project
silvas added a comment to D110425: [mlir] Linalg: ensure tile-and-pad always creates padding as requested.

What would be a more correct phrasing for the semantics description in your opinion? We want the op to always result in a new value.

I don't really understand the argument about the operation having to be always folded away. This would effectively render impossible any clone or copy operation. Yet, there is a TensorCloneOp in IREE if I remember correctly and it isn't an always-folded noop. So there is clearly precedent and a use case for operations defining new values with same "content" as the existing values.

The additional attribute may indeed be interpreted as preventing some canonicalization wrt the semantics of the original op (or its version with the attribute unset). However, I argue that we just choose to define different canonical forms for the op depending on it having the attribute. Referring to the post our doc on canonicalization quotes in the opening paragraph - https://sunfishcode.github.io/blog/2018/10/22/Canonicalization.html - that describes how canonicalization and redundancy elimination get ambiguous: "<...> ultimately, in its purest form, canonicalization just focuses on removing unnecessary variation so that subsequent optimizations can be simpler", this change is exactly about removing, or rather shifting, variation to simplify subsequent optimization. There exist subsequent optimizations such as hoisting that are rendered significantly simpler by always having a fresh value that is always defined by pad_tensor.

Sep 30 2021, 11:56 AM · Restricted Project

Sep 29 2021

silvas updated subscribers of D110764: [MLIR] Add scalar tests for `Same*Shape` traits..

@herhut - thoughts on keeping scalars (i1) as disallowed from Same*Shape traits?

Sep 29 2021, 2:22 PM · Restricted Project
silvas added a comment to D110764: [MLIR] Add scalar tests for `Same*Shape` traits..

Personally I think we should deprecate this behavior. In my mind, an i1 doesn't have a shape at all. So it doesn't make sense to say it has the same shape as anything else. Is there a specific use case for this behavior (IIRC this might have fallen out of an implementation detail of an earlier implementation of the trait).

Sep 29 2021, 2:13 PM · Restricted Project
silvas added a comment to D110425: [mlir] Linalg: ensure tile-and-pad always creates padding as requested.

Specifically, it is impossible for these two functions to have different semantics (as long as linalg.pad_tensor is marked NoSideEffect) -- both return a value that is identical to their argument, and it is always legal to fold @with_pad to @without_pad per tensor value semantics:

Sep 29 2021, 9:38 AM · Restricted Project
silvas added a comment to D110425: [mlir] Linalg: ensure tile-and-pad always creates padding as requested.

Sorry I didn't see this earlier, but I don't think this direction makes sense. This op operates on tensors, which are value semantic, so terminology like "guaranteed to create a new tensor suitable for packing" simply don't make sense.

I fail to see what doesn't make sense? Packing is done on tensor semantics too: this can be also called "tensor tiling" by opposition to "op tiling".

Having an attribute that prevents folding from happening gives me bad memories of e.g. tf.Identity being marked as having side effects to prevent folding. I would rather not go down that route.

I do not see the relation between the 2.
Marking tf.Identity as having side effects is clearly a hack misusing side effects for other purposes: the op still has no side effects.
Here, the semantics of the op are : it is illegitimate to fold this op. There is no discussion about side effects or any other interface.

Sep 29 2021, 9:26 AM · Restricted Project

Sep 28 2021

silvas added a comment to D110425: [mlir] Linalg: ensure tile-and-pad always creates padding as requested.

Sorry I didn't see this earlier, but I don't think this direction makes sense. This op operates on tensors, which are value semantic, so terminology like "guaranteed to create a new tensor suitable for packing" simply don't make sense.

Sep 28 2021, 4:22 PM · Restricted Project
silvas committed rG204d301bb192: [mlir][Python] Fix lifetime of ExecutionEngine runtime functions. (authored by silvas).
[mlir][Python] Fix lifetime of ExecutionEngine runtime functions.
Sep 28 2021, 3:32 PM
silvas closed D110661: [mlir][Python] Fix lifetime of ExecutionEngine runtime functions..
Sep 28 2021, 3:32 PM · Restricted Project
silvas updated the diff for D110661: [mlir][Python] Fix lifetime of ExecutionEngine runtime functions..

address

Sep 28 2021, 3:22 PM · Restricted Project
silvas added reviewers for D110661: [mlir][Python] Fix lifetime of ExecutionEngine runtime functions.: stellaraccident, mehdi_amini.
Sep 28 2021, 3:02 PM · Restricted Project
silvas requested review of D110661: [mlir][Python] Fix lifetime of ExecutionEngine runtime functions..
Sep 28 2021, 3:01 PM · Restricted Project

Sep 22 2021

silvas accepted D110200: [MLIR] Split arith dialect from the std dialect.

did a pass. looks good to me. probably want to wait for a handful of LGTM's given the far-reaching consequences of this change. Ideally both River and Chris could weigh in.

Sep 22 2021, 9:49 AM · Restricted Project

Sep 17 2021

silvas accepted D109965: [MLIR][Linalg] Make detensoring cost-model more flexible..
Sep 17 2021, 9:58 AM · Restricted Project

Sep 15 2021

silvas added a comment to D109819: [mlir][Linalg] Replace DenseSet by UnionFind in ComprehensiveBufferize - NFC.

Nice!

Sep 15 2021, 8:59 AM · Restricted Project
silvas accepted D109830: [mlir][Linalg] Revisit insertion points in comprehensive bufferization..
Sep 15 2021, 8:59 AM · Restricted Project

Sep 14 2021

silvas committed rG8dca953dd39c: [mlir] Apply py::module_local() to a few more classes. (authored by silvas).
[mlir] Apply py::module_local() to a few more classes.
Sep 14 2021, 3:27 PM
silvas closed D109776: [mlir] Apply py::module_local() to a few more classes..
Sep 14 2021, 3:26 PM · Restricted Project
silvas added a reviewer for D109776: [mlir] Apply py::module_local() to a few more classes.: stellaraccident.
Sep 14 2021, 11:34 AM · Restricted Project
silvas requested review of D109776: [mlir] Apply py::module_local() to a few more classes..
Sep 14 2021, 11:34 AM · Restricted Project

Sep 9 2021

silvas accepted D109480: [MLIR] Use memref.copy ops in BufferResultsToOutParams pass..
Sep 9 2021, 9:44 AM · Restricted Project

Sep 3 2021

silvas added inline comments to D107236: Add a new interface allowing to set a default dialect to be used for printing/parsing regions.
Sep 3 2021, 2:22 PM · Restricted Project
silvas added inline comments to D107236: Add a new interface allowing to set a default dialect to be used for printing/parsing regions.
Sep 3 2021, 1:44 PM · Restricted Project
silvas added inline comments to D107236: Add a new interface allowing to set a default dialect to be used for printing/parsing regions.
Sep 3 2021, 1:33 PM · Restricted Project

Sep 2 2021

silvas accepted D109152: [mlir] speed up construction of LLVM IR constants when possible.

Awesome! Thanks!!!

Sep 2 2021, 11:23 AM · Restricted Project

Aug 11 2021

silvas added a comment to D107891: [mlir] Add std.bitcast -> llvm.bitcast conversion.

Thanks Alex!

Aug 11 2021, 10:29 AM · Restricted Project
silvas added a comment to D107858: [mlir] Change the pattern for TiledLoopOp bufferization..

Thanks Alex!

Aug 11 2021, 10:28 AM · Restricted Project

Aug 10 2021

silvas added a comment to D107858: [mlir] Change the pattern for TiledLoopOp bufferization..

Can you please revert this commit and the previous one I objected to? I think they are fundamentally going in the wrong direction.

Aug 10 2021, 3:48 PM · Restricted Project
silvas added a comment to D107858: [mlir] Change the pattern for TiledLoopOp bufferization..

Can you please add the integration test cases I suggested in the other patch? I'm still pretty sure this will miscompile. Fundamentally you are writing this as an "in-place" bufferization and that cannot be done with the current framework because it involves non-local reasoning.

Aug 10 2021, 3:39 PM · Restricted Project

Aug 9 2021

silvas added a comment to D107762: [mlir] Add a bufferization pattern for linalg.tiled_loop..

It feels like this bufferization pattern would miscompile if we were to write integration tests analogous to these:

Aug 9 2021, 4:25 PM · Restricted Project

Aug 5 2021

silvas accepted D105376: [MLIR][std] Introduce bitcast operation.
Aug 5 2021, 2:35 PM · Restricted Project

Aug 3 2021

silvas accepted D107358: [MLIR][Linalg] Extend detensoring control flow model..

Beautiful :)

Aug 3 2021, 8:55 AM · Restricted Project

Aug 2 2021

silvas added inline comments to D105376: [MLIR][std] Introduce bitcast operation.
Aug 2 2021, 2:49 PM · Restricted Project
silvas added a comment to D106658: [mlir][linalg] Add pooling_nchw_max, conv_2d_nchw as yaml ops..

great work yi!

Aug 2 2021, 7:47 AM · Restricted Project

Jul 10 2021

silvas accepted D105748: [mlir] Fix broadcasting check with 1 values.
Jul 10 2021, 12:51 PM · Restricted Project

Jul 9 2021

silvas added inline comments to D105558: [mlir][MemRef] Fix DimOp folding of OffsetSizeAndStrideInterface..
Jul 9 2021, 10:47 AM · Restricted Project
silvas added a comment to D105702: [mlir] factor math-to-llvm out of standard-to-llvm.

Thanks!

Jul 9 2021, 10:40 AM · Restricted Project
silvas accepted D105702: [mlir] factor math-to-llvm out of standard-to-llvm.
Jul 9 2021, 10:40 AM · Restricted Project

Jul 8 2021

silvas committed rG7c35aae35b2c: Mark TensorDialect legal and PadTensor op illegal (authored by cathyzhyi).
Mark TensorDialect legal and PadTensor op illegal
Jul 8 2021, 3:03 PM
silvas closed D105642: Mark TensorDialect legal and PadTensor op illegal.
Jul 8 2021, 3:02 PM · Restricted Project
silvas accepted D105642: Mark TensorDialect legal and PadTensor op illegal.
Jul 8 2021, 1:41 PM · Restricted Project
silvas added a comment to D105642: Mark TensorDialect legal and PadTensor op illegal.

I don't think we need an integration test here. A regular IR test would be enough to exercise it? (just snapshot the IR from the itnegration test before linalg-bufferize)

Jul 8 2021, 12:34 PM · Restricted Project
silvas added a comment to D105642: Mark TensorDialect legal and PadTensor op illegal.

Do you know why previous tests didn't need this? Should we add a new test?

Jul 8 2021, 10:41 AM · Restricted Project
silvas added inline comments to D105558: [mlir][MemRef] Fix DimOp folding of OffsetSizeAndStrideInterface..
Jul 8 2021, 10:29 AM · Restricted Project
silvas accepted D105625: [mlir] factor memref-to-llvm lowering out of std-to-llvm.
Jul 8 2021, 10:10 AM · Restricted Project

Jul 7 2021

silvas committed rGda289a174fc6: [mlir] Allow conversion to LLVM for ElementsAttr's with size 0 (authored by silvas).
[mlir] Allow conversion to LLVM for ElementsAttr's with size 0
Jul 7 2021, 11:16 AM
silvas closed D105379: [mlir] Allow conversion to LLVM for ElementsAttr's with size 0.
Jul 7 2021, 11:16 AM · Restricted Project
silvas added a comment to D105376: [MLIR][std] Introduce bitcast operation.

Please add lowering to LLVM for this too (doesn't have to be this patch precisely, but a fast follow-on please).

Jul 7 2021, 11:09 AM · Restricted Project
silvas added a comment to D105383: [mlir][tosa] Added more shape inference for tosa ops.

Will let @sjarus review this as the detailed shape transfer function review is best done by someone deeply aware of the spec.

Jul 7 2021, 10:41 AM · Restricted Project

Jul 2 2021

silvas retitled D105379: [mlir] Allow conversion to LLVM for ElementsAttr's with size 0 from [mlir] Allow convertion to LLVM for ElementsAttr's with size 0 to [mlir] Allow conversion to LLVM for ElementsAttr's with size 0.
Jul 2 2021, 3:57 PM · Restricted Project
silvas updated the diff for D105379: [mlir] Allow conversion to LLVM for ElementsAttr's with size 0.

reword

Jul 2 2021, 3:57 PM · Restricted Project
silvas requested review of D105379: [mlir] Allow conversion to LLVM for ElementsAttr's with size 0.
Jul 2 2021, 3:55 PM · Restricted Project