Page MenuHomePhabricator

nicolasvasilache (Nicolas Vasilache)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 2 2017, 2:24 AM (159 w, 5 d)

Recent Activity

Today

nicolasvasilache updated the diff for D75146: [mlir][Linalg] NFC - Refactor LinalgStructuredOps towards "named" Linalg ops.

Address review comments.

Tue, Feb 25, 3:54 PM · Restricted Project
nicolasvasilache added inline comments to D75146: [mlir][Linalg] NFC - Refactor LinalgStructuredOps towards "named" Linalg ops.
Tue, Feb 25, 3:54 PM · Restricted Project
nicolasvasilache added inline comments to D75146: [mlir][Linalg] NFC - Refactor LinalgStructuredOps towards "named" Linalg ops.
Tue, Feb 25, 3:32 PM · Restricted Project
nicolasvasilache updated the diff for D75146: [mlir][Linalg] NFC - Refactor LinalgStructuredOps towards "named" Linalg ops.

CMake

Tue, Feb 25, 3:14 PM · Restricted Project
nicolasvasilache accepted D75147: [mlir] [VectorOps] Add vector.print to EDSC.
Tue, Feb 25, 3:14 PM · Restricted Project
nicolasvasilache added a comment to D73826: [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively.

Slowly getting back to this after vacation, I'll rebase on top of an NFC change so people see less noise.

Tue, Feb 25, 3:14 PM · Restricted Project
nicolasvasilache created D75146: [mlir][Linalg] NFC - Refactor LinalgStructuredOps towards "named" Linalg ops.
Tue, Feb 25, 3:05 PM · Restricted Project
nicolasvasilache added a comment to D74889: [mlir] Generalize intrinsic builders in the LLVM dialect definition.

LG!

Tue, Feb 25, 6:22 AM · Restricted Project
nicolasvasilache accepted D75112: [mlir] NFC: move test/IR/core-ops.mlir to test/Dialect/StandardOps/roundtrip.mlir.
Tue, Feb 25, 6:12 AM · Restricted Project
nicolasvasilache added a comment to D74893: [mlir] Intrinsics generator: use TableGen-defined builder function.

Cool, thanks Alex!

Tue, Feb 25, 5:52 AM · Restricted Project

Yesterday

nicolasvasilache accepted D75058: [mlir] simplify affine maps and operands in affine.min/max.
Mon, Feb 24, 9:08 AM · Restricted Project

Sun, Feb 23

nicolasvasilache added a comment to D74797: [mlir] [VectorOps] Framework for progressive lowering of vector.contract.

Thanks for adding this Aart!
Made a quick pass as I am catching up.
I am wondering whether the impl could be simplified or whether some of the complexity is a fundamental property of the problem at hand?

Sun, Feb 23, 7:42 PM · Restricted Project
nicolasvasilache requested changes to D74544: [MLIR] Add naive fusion of parallel loops..

Marking as blocker to be sure my question is addressed, sorry for being late to the party as I was away last week.

Sun, Feb 23, 7:35 PM · Restricted Project
nicolasvasilache added a comment to D74544: [MLIR] Add naive fusion of parallel loops..

Are we sure we want another parallel SW stack to do fusion here?
I'd love to understand the use cases that are fundamentally different from what we'd expect to do with Linalg + Affine (with or without Intel's multi-for).

Sun, Feb 23, 7:34 PM · Restricted Project
nicolasvasilache added inline comments to D74708: [MLIR][Ploops] Add custom builders from ParallelOp and ReduceOp..
Sun, Feb 23, 7:16 PM · Restricted Project
nicolasvasilache added a comment to D74532: [mlir] Linalg: Extend promotion to non f32 buffers..

I wonder how much of the test here is just carried over mechanically and if we could do something to reduce this churn...

Sun, Feb 23, 6:48 PM · Restricted Project

Sun, Feb 16

nicolasvasilache added a comment to D73826: [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively.

we didn't really get an answer to the questions. I also mentioned

Sun, Feb 16, 7:56 PM · Restricted Project
nicolasvasilache added a comment to D73826: [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively.

Is there a world in which we can have such an Einsum-based parser on textual format to specify Linalg ops?
Does this have to be a language outside of MLIR? (I would certainly hope not).

I don't understand how these two questions can go together as they seem entirely disconnected to me, so I'm probably not understanding the questions in the first place :)

I think https://reviews.llvm.org/D73405 sets a nice precedent and I would very much want to see something like this for specifying Linalg ops declaratively.

The main reason I have been reluctant to move on here is exactly because I would very much want to see something like this for specifying Linalg ops declaratively!
Where "something like this" is a feature that is generic enough to generalize and be reused across dialects, like D73405 :)

Sun, Feb 16, 2:10 PM · Restricted Project

Fri, Feb 14

nicolasvasilache added a comment to D73826: [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively.

@jpienaar and @mehdi_amini thanks for your fast turnaround on this!

Fri, Feb 14, 2:20 PM · Restricted Project
nicolasvasilache accepted D74638: [mlir][Linalg] Allow specifiying zero-rank shaped type operands to linalg.generic ops..

Corner cases are the worst :)
Thanks a lot Mahesh, very cool!

Fri, Feb 14, 1:07 PM · Restricted Project

Thu, Feb 13

nicolasvasilache added a comment to D74211: [mlir] use unpacked memref descriptors at function boundaries.

@dcaballe I don't think reverting the commit will be a reasonable path here, a bunch of other things and integrates have switched to this.

Thu, Feb 13, 6:19 PM · Restricted Project
nicolasvasilache accepted D74520: [mlir] [VectorOps] Initial framework for progressively lowering vector.contract.

Minor nits, approving conditionally.
Thanks Aart!

Thu, Feb 13, 2:33 PM · Restricted Project
nicolasvasilache updated the diff for D73826: [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively.

Address review comments.

Thu, Feb 13, 10:33 AM · Restricted Project
nicolasvasilache updated the diff for D73826: [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively.

Update CMake.

Thu, Feb 13, 9:38 AM · Restricted Project
nicolasvasilache updated the diff for D73826: [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively.

Finish the revision and update CMakeLists.txt.

Thu, Feb 13, 9:28 AM · Restricted Project
nicolasvasilache added a comment to D73826: [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively.

@flaub so actually, one of the (multiple) reasons I am pushing for this is to have the ability to add a generic contraction op and a generic pointwise op as special cases :)
We already have vector.contract added by andydavis@ with similar semantics and it would make the rewrite to vector form trivial.

Thu, Feb 13, 7:30 AM · Restricted Project
nicolasvasilache added a comment to D74119: [NFC][mlir] Adding some helpful EDSC intrinsics.

Thank you!

Thu, Feb 13, 6:44 AM · Restricted Project

Wed, Feb 12

nicolasvasilache added a comment to D73826: [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively.

@mehdi_amini @jpienaar @rriddle @ftynse @antiagainst I have rebased and updated the revision description as well as the impl.
I would be interested in your opinion on where this is going and if it matches the expected behavior you may have.
If you see some red flags please let me know, I hope to have this working and pushable by tomorrow.

Wed, Feb 12, 7:31 PM · Restricted Project
nicolasvasilache updated the diff for D73826: [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively.

Continue the impl.

Wed, Feb 12, 7:23 PM · Restricted Project
nicolasvasilache updated the diff for D73826: [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively.

Rebase on top of NFC changes and spin out a separate tablegen backend.

Wed, Feb 12, 3:18 PM · Restricted Project
nicolasvasilache retitled D73826: [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively from [mlir][Linalg][WIP][RFC] OpGen hooks to [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively.
Wed, Feb 12, 3:09 PM · Restricted Project
nicolasvasilache committed rG10382ebe8f3f: [mlir][Linalg] Fix build warnings (authored by nicolasvasilache).
[mlir][Linalg] Fix build warnings
Wed, Feb 12, 1:56 PM
nicolasvasilache committed rGbfaf53579189: [mlir][Linalg] Refactor in preparation for automatic Linalg "named" ops. (authored by nicolasvasilache).
[mlir][Linalg] Refactor in preparation for automatic Linalg "named" ops.
Wed, Feb 12, 11:57 AM
nicolasvasilache closed D74491: [mlir][Linalg] NFC - Refactor in preparation for automatic Linalg "named" ops..
Wed, Feb 12, 11:56 AM · Restricted Project
nicolasvasilache updated the diff for D74491: [mlir][Linalg] NFC - Refactor in preparation for automatic Linalg "named" ops..

Fix build breadking typo.

Wed, Feb 12, 11:56 AM · Restricted Project
nicolasvasilache added inline comments to D74491: [mlir][Linalg] NFC - Refactor in preparation for automatic Linalg "named" ops..
Wed, Feb 12, 11:56 AM · Restricted Project
nicolasvasilache updated the diff for D74491: [mlir][Linalg] NFC - Refactor in preparation for automatic Linalg "named" ops..

ld breaking typo.

Wed, Feb 12, 11:47 AM · Restricted Project
nicolasvasilache updated the diff for D74491: [mlir][Linalg] NFC - Refactor in preparation for automatic Linalg "named" ops..

ddress review comments.

Wed, Feb 12, 11:47 AM · Restricted Project
nicolasvasilache committed rG137415ad285b: [mlir][EDSC][Linalg] Compose linalg_matmul and vector.contract (authored by nicolasvasilache).
[mlir][EDSC][Linalg] Compose linalg_matmul and vector.contract
Wed, Feb 12, 11:01 AM
nicolasvasilache closed D74457: [mlir][EDSC][Linalg] Compose linalg_matmul and vector.contract.
Wed, Feb 12, 11:01 AM · Restricted Project
nicolasvasilache updated the diff for D74457: [mlir][EDSC][Linalg] Compose linalg_matmul and vector.contract.

ddress review comments.

Wed, Feb 12, 10:51 AM · Restricted Project
nicolasvasilache added a reviewer for D74457: [mlir][EDSC][Linalg] Compose linalg_matmul and vector.contract: mravishankar.
Wed, Feb 12, 9:47 AM · Restricted Project
nicolasvasilache added reviewers for D74491: [mlir][Linalg] NFC - Refactor in preparation for automatic Linalg "named" ops.: mravishankar, asaadaldien.
Wed, Feb 12, 9:19 AM · Restricted Project
nicolasvasilache retitled D74491: [mlir][Linalg] NFC - Refactor in preparation for automatic Linalg "named" ops. from [mlir][Linalg] Refactor in preparation for automatic Linalg "named" ops. to [mlir][Linalg] NFC - Refactor in preparation for automatic Linalg "named" ops..
Wed, Feb 12, 8:51 AM · Restricted Project
nicolasvasilache created D74491: [mlir][Linalg] NFC - Refactor in preparation for automatic Linalg "named" ops..
Wed, Feb 12, 8:51 AM · Restricted Project

Tue, Feb 11

nicolasvasilache added reviewers for D74457: [mlir][EDSC][Linalg] Compose linalg_matmul and vector.contract: jsetoain, asaadaldien, tetuante.
Tue, Feb 11, 9:33 PM · Restricted Project
nicolasvasilache accepted D74307: [MLIR] Support memrefs with complex element types..
Tue, Feb 11, 6:26 PM · Restricted Project
nicolasvasilache accepted D74288: [MLIR][Affine] Add affine.parallel op.

Thanks for pushing on this, LGTM!

Tue, Feb 11, 5:59 PM · Restricted Project
nicolasvasilache updated the diff for D74457: [mlir][EDSC][Linalg] Compose linalg_matmul and vector.contract.

Format.

Tue, Feb 11, 5:59 PM · Restricted Project
nicolasvasilache created D74457: [mlir][EDSC][Linalg] Compose linalg_matmul and vector.contract.
Tue, Feb 11, 5:49 PM · Restricted Project
nicolasvasilache added inline comments to D74401: [MLIR] Add std.atomic_rmw op.
Tue, Feb 11, 5:40 PM · Restricted Project
nicolasvasilache added inline comments to D74401: [MLIR] Add std.atomic_rmw op.
Tue, Feb 11, 5:05 PM · Restricted Project
nicolasvasilache requested changes to D74365: [mlir][Linalg] Update semantics for Linalg generic ops with tensors..

There are unsolved issues going from the buffer world to the tensor world when reductions are involved.
Changing the semantics of all the ops, including ones that don't have reductions, is not the right way to go here.
We need a proper way to tie a tensor result to a tensor operand.
We don't have a good mechanism for this atm and this should be discussed with the bigger group.

Tue, Feb 11, 2:59 PM · Restricted Project
nicolasvasilache accepted D74421: [mlir] Linalg fusion: ignore indexed_generic producers.
Tue, Feb 11, 9:54 AM · Restricted Project

Mon, Feb 10

nicolasvasilache accepted D74370: [mlir] [VectorOps] Implement vector.reduce operation.
Mon, Feb 10, 9:48 PM · Restricted Project
nicolasvasilache accepted D74327: [mlir][VectorOps] Adds canonicalization rewrite patterns for vector ShapeCastOp..

Nice pattern composition Andy!

Mon, Feb 10, 1:48 PM · Restricted Project
nicolasvasilache added a comment to D74119: [NFC][mlir] Adding some helpful EDSC intrinsics.

My apologies for the delay..
Also, please note that https://github.com/llvm/llvm-project/commit/75394e1301dd1d4739a24d440e9996c52e5b5570#diff-6635fa1a5b0b10edf6e511585c7c986d refactored things significantly on the EDSC front so this would need a rebase.

Mon, Feb 10, 1:39 PM · Restricted Project
nicolasvasilache committed rG8513ff05c81e: [mlir][VectorOps][EDSC] Add EDSC for VectorOps (authored by nicolasvasilache).
[mlir][VectorOps][EDSC] Add EDSC for VectorOps
Mon, Feb 10, 12:09 PM
nicolasvasilache closed D74284: [mlir][VectorOps][EDSC] Add EDSC for VectorOps.
Mon, Feb 10, 12:09 PM · Restricted Project
nicolasvasilache added a comment to D74284: [mlir][VectorOps][EDSC] Add EDSC for VectorOps.

Flushing out some answers.

Mon, Feb 10, 12:09 PM · Restricted Project
nicolasvasilache updated the diff for D74284: [mlir][VectorOps][EDSC] Add EDSC for VectorOps.

Address review comments.

Mon, Feb 10, 12:00 PM · Restricted Project
nicolasvasilache added inline comments to D74284: [mlir][VectorOps][EDSC] Add EDSC for VectorOps.
Mon, Feb 10, 12:00 PM · Restricted Project
nicolasvasilache committed rG75394e1301dd: [mlir][EDSC] Almost NFC - Refactor and untangle EDSC dependencies (authored by nicolasvasilache).
[mlir][EDSC] Almost NFC - Refactor and untangle EDSC dependencies
Mon, Feb 10, 9:14 AM
nicolasvasilache closed D74302: [mlir][EDSC] Almost NFC - Refactor and untangle EDSC dependencies.
Mon, Feb 10, 9:14 AM · Restricted Project
nicolasvasilache updated the diff for D74302: [mlir][EDSC] Almost NFC - Refactor and untangle EDSC dependencies.

Address review comments, revive CMake changes.

Mon, Feb 10, 9:01 AM · Restricted Project
nicolasvasilache added a comment to D74302: [mlir][EDSC] Almost NFC - Refactor and untangle EDSC dependencies.

cmake seems broken

Mon, Feb 10, 9:01 AM · Restricted Project
nicolasvasilache requested changes to D74301: Add affine expr simplification for subtract from self.
Mon, Feb 10, 7:21 AM
nicolasvasilache updated the diff for D74302: [mlir][EDSC] Almost NFC - Refactor and untangle EDSC dependencies.

Address review comments.

Mon, Feb 10, 6:30 AM · Restricted Project
nicolasvasilache added a comment to D74302: [mlir][EDSC] Almost NFC - Refactor and untangle EDSC dependencies.

Addressed.

Mon, Feb 10, 6:30 AM · Restricted Project
nicolasvasilache added a comment to D74302: [mlir][EDSC] Almost NFC - Refactor and untangle EDSC dependencies.

@rriddle I did not see a simple way to untangle things and once I got things working I did not look back.
For instance, dropping dependencies from EDSC onto LoopOps and AffineOps requires extracting the makeLoopBuilder into a free function.
The only place where it makes sense to put this is in the loop dialect.
There are a bunch of similar cases.
At which point I don't see a reasonable way to split this up.

Mon, Feb 10, 6:12 AM · Restricted Project

Sun, Feb 9

nicolasvasilache added reviewers for D74302: [mlir][EDSC] Almost NFC - Refactor and untangle EDSC dependencies: rriddle, ftynse, jpienaar, mehdi_amini.
Sun, Feb 9, 8:51 PM · Restricted Project
nicolasvasilache created D74302: [mlir][EDSC] Almost NFC - Refactor and untangle EDSC dependencies.
Sun, Feb 9, 8:51 PM · Restricted Project

Sat, Feb 8

nicolasvasilache added a comment to D74279: [mlir][EDSC] NFC - Move StructuredIndexed and IteratorType out of Linalg.

Ugh .. misread the green checkmark from Harbormaster as the second approval from @mehdi_amini post trivial rebase.
As a consequence this landed in "Needs Review", sorry about that ...

Sat, Feb 8, 11:04 AM · Restricted Project
nicolasvasilache added inline comments to D74284: [mlir][VectorOps][EDSC] Add EDSC for VectorOps.
Sat, Feb 8, 11:04 AM · Restricted Project
nicolasvasilache updated the diff for D74284: [mlir][VectorOps][EDSC] Add EDSC for VectorOps.

Rebase.

Sat, Feb 8, 11:04 AM · Restricted Project
nicolasvasilache created D74284: [mlir][VectorOps][EDSC] Add EDSC for VectorOps.
Sat, Feb 8, 10:55 AM · Restricted Project
nicolasvasilache committed rGd4fbf8312b96: [mlir][EDSC] NFC - Move StructuredIndexed and IteratorType out of Linalg (authored by nicolasvasilache).
[mlir][EDSC] NFC - Move StructuredIndexed and IteratorType out of Linalg
Sat, Feb 8, 10:46 AM
nicolasvasilache closed D74279: [mlir][EDSC] NFC - Move StructuredIndexed and IteratorType out of Linalg.
Sat, Feb 8, 10:46 AM · Restricted Project
nicolasvasilache added a comment to D74279: [mlir][EDSC] NFC - Move StructuredIndexed and IteratorType out of Linalg.

Thanks Mehdi!

Sat, Feb 8, 10:46 AM · Restricted Project
nicolasvasilache updated the diff for D74279: [mlir][EDSC] NFC - Move StructuredIndexed and IteratorType out of Linalg.

Fix bad rebase.

Sat, Feb 8, 10:11 AM · Restricted Project
nicolasvasilache created D74279: [mlir][EDSC] NFC - Move StructuredIndexed and IteratorType out of Linalg.
Sat, Feb 8, 8:24 AM · Restricted Project

Fri, Feb 7

nicolasvasilache accepted D74267: [mlir][Linalg] Add a roundtrip test for indexed_generic op with tensors..

Thanks for adding this test Hanhan!
I am somewhat less confident that linalg.indexed_generic generally works (since there didn't exist tests before this one, my thinking is it is not yet functional), but this first test is a concrete step forward.

Fri, Feb 7, 5:27 PM · Restricted Project
nicolasvasilache committed rG681f929f5916: [mlir][VectorOps] Introduce a `vector.fma` op that works on n-D vectors and… (authored by nicolasvasilache).
[mlir][VectorOps] Introduce a `vector.fma` op that works on n-D vectors and…
Fri, Feb 7, 12:54 PM
nicolasvasilache closed D74075: [mlir][VectorOps] Introduce a `vector.fma` op that works on n-D vectors and lowers to `llvm.intrin.fmuladd`.
Fri, Feb 7, 12:54 PM · Restricted Project
nicolasvasilache committed rG499ad45877b9: [mlir][VectorOps] Expose and use llvm.intrin.fma* (authored by nicolasvasilache).
[mlir][VectorOps] Expose and use llvm.intrin.fma*
Fri, Feb 7, 12:45 PM
nicolasvasilache closed D74219: [mlir][VectorOps] Expose and use llvm.intrin.fma*.
Fri, Feb 7, 12:44 PM · Restricted Project
nicolasvasilache requested changes to D74119: [NFC][mlir] Adding some helpful EDSC intrinsics.
Fri, Feb 7, 11:21 AM · Restricted Project
nicolasvasilache accepted D74174: [MLIR] Allow Loop dialect IfOp and ForOp to define values .

Thanks @nmostafa for pushing on this important feature, it will make everyone's life better.
Looking forward to seeing this lower to LLVM all the way to execution!

Fri, Feb 7, 9:04 AM · Restricted Project
nicolasvasilache added inline comments to D73944: [mlir][wip] Start Shape dialect.
Fri, Feb 7, 8:28 AM · Restricted Project
nicolasvasilache added inline comments to D73944: [mlir][wip] Start Shape dialect.
Fri, Feb 7, 8:27 AM · Restricted Project
nicolasvasilache requested changes to D73944: [mlir][wip] Start Shape dialect.

I question the relevance of carrying implicit broadcasting concepts from HLO and other frontends into MLIR core.
I see this as a red flag that the required separation of concerns has not happened.
Anything related to broadcast should be on the XLA / frontend side IMO.

Fri, Feb 7, 8:27 AM · Restricted Project
nicolasvasilache added inline comments to D74171: [mlir] [LLVMIR] add all vector reduction intrinsics to LLVM IR dialect.
Fri, Feb 7, 8:27 AM · Restricted Project
nicolasvasilache added inline comments to D74171: [mlir] [LLVMIR] add all vector reduction intrinsics to LLVM IR dialect.
Fri, Feb 7, 8:27 AM · Restricted Project
nicolasvasilache added a comment to D74179: [mlir][VectorOps] Generalized vector.print to i32/i64.

Thanks Aart!

Fri, Feb 7, 8:09 AM · Restricted Project
nicolasvasilache added inline comments to D74075: [mlir][VectorOps] Introduce a `vector.fma` op that works on n-D vectors and lowers to `llvm.intrin.fmuladd`.
Fri, Feb 7, 8:09 AM · Restricted Project
nicolasvasilache accepted D74179: [mlir][VectorOps] Generalized vector.print to i32/i64.
Fri, Feb 7, 8:09 AM · Restricted Project
nicolasvasilache updated the diff for D74075: [mlir][VectorOps] Introduce a `vector.fma` op that works on n-D vectors and lowers to `llvm.intrin.fmuladd`.

Rebase on top of llvm.intr.fma addition.
Address review comments.

Fri, Feb 7, 8:09 AM · Restricted Project
nicolasvasilache accepted D74172: [mlir][Linalg] Implement fusion of linalg.generic operation on tensors..

This looks really great, thanks a lot for pushing this Mahesh!
I think it is an elegant solution that shows how proper usage of the StructuredOps abstraction avoid creating problems that should never have existed in the first place (e.g. carrying broadcast and all the phase ordering issues related to buffer allocation, fusion and erasing unnecessary buffers).

Fri, Feb 7, 8:00 AM · Restricted Project
nicolasvasilache added a comment to D73826: [mlir][Linalg] Provide a Tablegen backend to specify named Linalg ops declaratively.

The above functionality could already be handled with OpInterfaces + the way export generation is handled for TFLite dialect [which doesn't use OpInterfaces as that predated it, but could], one need not change OpDefinitionGen to get this behavior.

Fri, Feb 7, 7:33 AM · Restricted Project
nicolasvasilache created D74219: [mlir][VectorOps] Expose and use llvm.intrin.fma*.
Fri, Feb 7, 6:38 AM · Restricted Project