Page MenuHomePhabricator

herhut (Stephan Herhut)
Animal

Projects

User does not belong to any projects.

User Details

User Since
Jan 7 2020, 7:38 AM (74 w, 4 d)

Recent Activity

Wed, Jun 9

herhut accepted D103868: [mlir][gpu][NFC] Simplify conversion of MMA type to NVVM.

Nice cleanup and fixes. Thanks!

Wed, Jun 9, 8:39 AM · Restricted Project
herhut accepted D103838: [mlir] Expose a function to populate tensor constant bufferization patterns.

Thanks!

Wed, Jun 9, 3:35 AM · Restricted Project
herhut accepted D103396: [mlir] Support pre-existing tokens in 'gpu-async-region'.

Looks good modulo disabling multithreading. I assume that is a left-over from debugging?

Wed, Jun 9, 3:34 AM · Restricted Project

Fri, May 21

herhut committed rG90e55dfcf4be: [mlir][memref] Improve canonicalization of memref.clone (authored by herhut).
[mlir][memref] Improve canonicalization of memref.clone
Fri, May 21, 7:37 AM
herhut closed D102785: [mlir][memref] Fix canonicalization of memref.clone.
Fri, May 21, 7:37 AM · Restricted Project
herhut added a reviewer for D102785: [mlir][memref] Fix canonicalization of memref.clone: bkramer.
Fri, May 21, 7:15 AM · Restricted Project
herhut updated the diff for D102785: [mlir][memref] Fix canonicalization of memref.clone.

Fix comments and re-enable cast handling

Fri, May 21, 7:13 AM · Restricted Project
herhut committed rG884a6291f0b9: [mlir][linalg] Add scalar operands inlining pattern (authored by herhut).
[mlir][linalg] Add scalar operands inlining pattern
Fri, May 21, 6:25 AM
herhut closed D102682: [mlir][linalg] Add scalar operands inlining pattern.
Fri, May 21, 6:25 AM · Restricted Project
herhut added a comment to D102682: [mlir][linalg] Add scalar operands inlining pattern.

Thanks!

Fri, May 21, 6:24 AM · Restricted Project
herhut updated the diff for D102682: [mlir][linalg] Add scalar operands inlining pattern.

Fix spelling

Fri, May 21, 6:24 AM · Restricted Project

Wed, May 19

herhut added a comment to D102785: [mlir][memref] Fix canonicalization of memref.clone.

Hey @dfki-jugr. I debugged this a bit today and here is how far I got. We can either land this as a cleanup or you can fold it into some changes you want to do anyway.

Wed, May 19, 10:25 AM · Restricted Project
herhut updated the diff for D102785: [mlir][memref] Fix canonicalization of memref.clone.

Sent the wrong state of the change

Wed, May 19, 10:21 AM · Restricted Project
herhut added a reviewer for D102785: [mlir][memref] Fix canonicalization of memref.clone: dfki-jugr.

I think this should become a pass instead, so that it can also consider aliases and
remove more clones. Block local aliases would suffice to catch situations like

Wed, May 19, 9:32 AM · Restricted Project
herhut requested review of D102785: [mlir][memref] Fix canonicalization of memref.clone.
Wed, May 19, 9:31 AM · Restricted Project

Tue, May 18

herhut added inline comments to D102512: [mlir][Linalg] Add comprehensive bufferization support for subtensor (5/n).
Tue, May 18, 6:45 AM · Restricted Project
herhut added inline comments to D102681: [mlir] Support buffer hoisting on allocas.
Tue, May 18, 6:37 AM · Restricted Project
herhut updated the diff for D102682: [mlir][linalg] Add scalar operands inlining pattern.

Fix Cmake files.

Tue, May 18, 6:26 AM · Restricted Project
herhut added a reviewer for D102682: [mlir][linalg] Add scalar operands inlining pattern: bkramer.
Tue, May 18, 3:23 AM · Restricted Project
herhut updated the diff for D102682: [mlir][linalg] Add scalar operands inlining pattern.

Minor cleanup

Tue, May 18, 3:21 AM · Restricted Project
herhut requested review of D102682: [mlir][linalg] Add scalar operands inlining pattern.
Tue, May 18, 3:17 AM · Restricted Project

Mon, May 17

herhut committed rGdb81e88f25f2: [mlir][memref] Mark memref.buffer_cast as NoSideEffect (authored by herhut).
[mlir][memref] Mark memref.buffer_cast as NoSideEffect
Mon, May 17, 5:20 AM
herhut closed D102608: [mlir][memref] Mark memref.buffer_cast as NoSideEffect.
Mon, May 17, 5:20 AM · Restricted Project
herhut updated the diff for D102608: [mlir][memref] Mark memref.buffer_cast as NoSideEffect.

fix tests

Mon, May 17, 5:01 AM · Restricted Project
herhut requested review of D102608: [mlir][memref] Mark memref.buffer_cast as NoSideEffect.
Mon, May 17, 4:14 AM · Restricted Project
herhut accepted D102317: Enhance InferShapedTypeOpInterface to make it accessible during dialect conversion.

There is a typo in the description. Otherwise lgtm.

Mon, May 17, 3:45 AM · Restricted Project

Fri, May 14

herhut accepted D102456: [mlir][NFC] Move passes in test/lib/Transforms/ to a directory that mirrors what they test.

Thank you for cleaning this up!

Fri, May 14, 1:36 AM · Restricted Project
herhut added inline comments to D102317: Enhance InferShapedTypeOpInterface to make it accessible during dialect conversion.
Fri, May 14, 12:59 AM · Restricted Project

May 12 2021

herhut added a comment to D102317: Enhance InferShapedTypeOpInterface to make it accessible during dialect conversion.

I am +1 on the direction here.

May 12 2021, 1:53 AM · Restricted Project
herhut added a comment to D101693: [mlir] Add ComprehensiveBufferize pass for function and modules (step 1/n).

Thanks for the replies.

May 12 2021, 1:34 AM · Restricted Project

May 11 2021

herhut added inline comments to D101693: [mlir] Add ComprehensiveBufferize pass for function and modules (step 1/n).
May 11 2021, 3:46 AM · Restricted Project

May 10 2021

herhut resigned from D102060: [WIP][mlir] Resolve memref dependency in canonicalize pass..
May 10 2021, 8:09 AM · Restricted Project

May 7 2021

herhut added a comment to D100838: [mlir] Split BufferAliasAnalysis into 2 classes.

I've worked around this issue in my own code now, so what do you think about me just doing this rename? Then there will be no confusion between this pass and the new AliasAnalysis (and their definitions of aliasing). I think that confusion is good to avoid, and since I have a different solution for my own use case, I can avoid creating more confusion by creating another Analysis at this time.

May 7 2021, 2:13 AM · Restricted Project
herhut added inline comments to D99133: [mlir] Add alias for input to shaped type op interface.
May 7 2021, 2:09 AM · Restricted Project
herhut accepted D101760: Fixed bug in buffer deallocation pass using unranked memref types..

Thanks!

May 7 2021, 2:08 AM · Restricted Project

May 6 2021

herhut accepted D101757: [mlir] Add support for ops with regions in 'gpu-async-region' rewriter..

On what op is this used as there is no test here?

May 6 2021, 3:10 AM · Restricted Project

May 3 2021

herhut requested changes to D101760: Fixed bug in buffer deallocation pass using unranked memref types..
May 3 2021, 8:49 AM · Restricted Project
herhut added a comment to D101749: [mlir] Remove CHECKs from the roundtrip test in Linalg..

I am missing the rationale for this one. Maybe "roundtrip" is a bad name, but we have these tests for all dialects and the point has always been to check that MLIR prints what you expect. Without the checks, you only test that MLIR can parse back what it printed, but you lose the consistency check. Back when we had to write parsers manually, I remember having caught several cases where an ill-written parser would accept A and B keywords, but construct an op always with A; so it would be printed with A instead of B and parsed back successfully (thus passing the trimmed-down test) but would contain an error.

May 3 2021, 4:50 AM · Restricted Project

Apr 29 2021

herhut added a comment to D100838: [mlir] Split BufferAliasAnalysis into 2 classes.

I am not convinced that DependencyAnalysis is the better name here. For dependencies, I think of read-after-write, etc.. This only computes the flow of buffers through control flow.

Apr 29 2021, 1:41 AM · Restricted Project

Apr 16 2021

herhut accepted D100635: [MLIR] Fix `isValidIndex`.

Thanks. I can see this to be useful as we use -1 for unknown quite often.

Apr 16 2021, 5:18 AM · Restricted Project
herhut added a comment to D100634: [MLIR][Shape] Add canonicalizations for `shape.broadcast`.

Nice. Some comments to further generalize.

Apr 16 2021, 5:14 AM · Restricted Project

Apr 6 2021

herhut added a comment to D99172: [mlir] Introduce CloneOp and adapt test cases in BufferDeallocation..

@dfki-jugr But why does this revision remove the copy removal pass when there are things that generate copies? The extension to canonicalization done eliminates clone ops, but IR with copy ops will no longer have a way to remove copies? For eg. -linalg-bufferize would still generate copy operations, right? @silvas

Apr 6 2021, 7:39 AM · Restricted Project

Mar 25 2021

herhut added inline comments to D99172: [mlir] Introduce CloneOp and adapt test cases in BufferDeallocation..
Mar 25 2021, 5:13 AM · Restricted Project
herhut added a comment to D98041: [MLIR] Create memref dialect and move dialect-specific ops from std..

I think just a patch splitting the op into tensor.dim and memref.dim would be fine. There isn't much to discuss.

Mar 25 2021, 4:12 AM · Restricted Project

Mar 24 2021

herhut accepted D99197: [MLIR][Shape] Derive more concrete type for `shape.shape_of`.

LGTM for the direction this takes. Please address nits.

Mar 24 2021, 3:58 AM · Restricted Project
herhut accepted D98937: [mlir] introduce data layout entry for index type.

Thanks for cleaning this up.

Mar 24 2021, 3:54 AM · Restricted Project
herhut accepted D98500: [mlir] support data layout specs on ModuleOp.
Mar 24 2021, 3:51 AM · Restricted Project

Mar 23 2021

herhut added a comment to D99172: [mlir] Introduce CloneOp and adapt test cases in BufferDeallocation..

Nice!

Mar 23 2021, 9:16 AM · Restricted Project
herhut added inline comments to D99161: [MLIR][Shape] Canonicalize casted dynamic extent tensor.
Mar 23 2021, 7:59 AM · Restricted Project
herhut accepted D99161: [MLIR][Shape] Canonicalize casted dynamic extent tensor.

This moves us a little further in the direction of having more precise types in the shape dialect in the non-error bearing case. I think this is the right direction to go but also want to give Jacques a chance to comment.

Mar 23 2021, 7:57 AM · Restricted Project
herhut added inline comments to D99156: [MLIR] Canonicalize `shape.assuming` op to yield only inner values.
Mar 23 2021, 6:05 AM · Restricted Project

Mar 19 2021

herhut added a comment to D98937: [mlir] introduce data layout entry for index type.

Generally looks good. Just one question. Thanks for adding support for this!

Mar 19 2021, 10:47 AM · Restricted Project
herhut added inline comments to D98500: [mlir] support data layout specs on ModuleOp.
Mar 19 2021, 8:58 AM · Restricted Project

Mar 17 2021

herhut committed rG5837fdc4ccc4: [mlir][llvm] Pass struct results as parameter in c wrapper (authored by herhut).
[mlir][llvm] Pass struct results as parameter in c wrapper
Mar 17 2021, 4:59 AM
herhut closed D98725: [mlir][llvm] Pass struct results as parameter in c wrapper..
Mar 17 2021, 4:59 AM · Restricted Project
herhut accepted D95522: Added documentation for SSA like property in Bufferization..

I think we should land this as it is strictly an improvement over the current documentation. We can improve further but having it documented avoids more confusion than it creates.

Mar 17 2021, 4:28 AM · Restricted Project
herhut added a comment to D98725: [mlir][llvm] Pass struct results as parameter in c wrapper..

Thanks!

Mar 17 2021, 4:17 AM · Restricted Project
herhut updated the diff for D98725: [mlir][llvm] Pass struct results as parameter in c wrapper..

Review comments...

Mar 17 2021, 4:17 AM · Restricted Project
herhut added a comment to D98447: [mlir] Remove mlir-rocm-runner.

Thanks for cleaning this up! Looks good in general but I also cannot test this. It would be nice if we had a builder for this. @whchung do you have a setup that could test this continuously or at least periodically to make sure it does not break?

Mar 17 2021, 2:23 AM · Restricted Project

Mar 16 2021

herhut requested review of D98725: [mlir][llvm] Pass struct results as parameter in c wrapper..
Mar 16 2021, 10:44 AM · Restricted Project

Mar 12 2021

herhut added a comment to D97887: [mlir] Enhance InferShapedTypeOpInterface and move LinalgOps to use them..

W.R.T your comment about using OpFoldResult, I think it comes down to what you are using the interface for. To me it just felt more uniform to get the shape of all the dimensions. There is no need to check on the analysis side to check if the shape is dynamic and then go query the interface. You query the interface and it gives you the entire shape (static and dynamic) and then its a matter of just extracting the Value (or int64_t if you can use that) on the client side. Much cleaner usage AFAICS.

Mar 12 2021, 5:14 AM · Restricted Project
herhut accepted D98396: [mlir] Remove mlir-cuda-runner.

Fantastic! Thank you for cleaning this up.

Mar 12 2021, 4:57 AM · Restricted Project

Mar 11 2021

herhut accepted D98041: [MLIR] Create memref dialect and move dialect-specific ops from std..

Please address the clang tidy warnings. Otherwise this looks good to go to me.

Mar 11 2021, 11:50 PM · Restricted Project
herhut accepted D98203: [mlir] Add NVVM to CUBIN conversion to mlir-opt.

Thanks!

Mar 11 2021, 1:03 AM · Restricted Project

Mar 10 2021

herhut requested changes to D97887: [mlir] Enhance InferShapedTypeOpInterface and move LinalgOps to use them..
Mar 10 2021, 9:40 AM · Restricted Project
herhut accepted D98279: [mlir] Add base class for GpuKernelToBlobPass.

After off-line discussion that this will be morphed into the final state in multiple changes, this looks like a good first step. Please fix the comment, though.

Mar 10 2021, 12:22 AM · Restricted Project
herhut added inline comments to D98279: [mlir] Add base class for GpuKernelToBlobPass.
Mar 10 2021, 12:12 AM · Restricted Project

Mar 9 2021

herhut accepted D98248: [mlir] Fix invalid hoisting of dependent allocs in buffer hoisting pass..

Thanks!

Mar 9 2021, 7:49 AM · Restricted Project
herhut accepted D98168: [mlir] Default for gpu-binary-annotation option..
Mar 9 2021, 7:45 AM · Restricted Project
herhut added a comment to D98041: [MLIR] Create memref dialect and move dialect-specific ops from std..

Wow, what a patch :)

Mar 9 2021, 2:54 AM · Restricted Project

Mar 8 2021

herhut added inline comments to D98186: [MLIR] Allow compatible shapes in `Elementwise` operations.
Mar 8 2021, 11:16 AM · Restricted Project
herhut added inline comments to D98188: [mlir][Shape] Allow materializing const shapes of any 1D index tensor.
Mar 8 2021, 11:09 AM · Restricted Project
herhut accepted D98177: [mlir][Shape] Allow shape.split_at to return extent tensors and lower it to std.subtensor.

Thanks!

Mar 8 2021, 6:53 AM · Restricted Project

Mar 5 2021

herhut accepted D98024: [mlir] Make cuInit() call thread-safe..

Nice find!

Mar 5 2021, 2:40 AM · Restricted Project

Mar 4 2021

herhut added a comment to D95330: [MLIR][GPU][NVVM] Add warp synchronous matrix-multiply accumulate ops.

Thank you @ftynse and @bondhugula for your many comments on this patch and thanks @navdeepkk for addressing them!

Mar 4 2021, 3:47 AM · Restricted Project
herhut accepted D97864: [mlir] Initialize CUDA context lazily..

So we get to use the context stack after all. Looks very clean now.

Mar 4 2021, 2:59 AM · Restricted Project

Mar 2 2021

herhut accepted D97674: Split `ElementwiseMappable` trait into four more precise traits..

Just nits for comments. Looks good, thanks!

Mar 2 2021, 4:51 AM · Restricted Project

Mar 1 2021

herhut added inline comments to D97674: Split `ElementwiseMappable` trait into four more precise traits..
Mar 1 2021, 8:42 AM · Restricted Project
herhut accepted D97636: [mlir] Add convenience trait grouping for tensor shaped type inference.
Mar 1 2021, 2:23 AM · Restricted Project

Feb 25 2021

herhut accepted D96965: Pass GPU events instead of streams across async regions..

Thanks!

Feb 25 2021, 1:23 AM · Restricted Project

Feb 24 2021

herhut accepted D97091: [mlir] Specify cuda-runner pass pipeline as command line options..

lgtm for a first step in making the pass pipeline more configurable.

Feb 24 2021, 12:51 AM · Restricted Project
herhut added inline comments to D97346: [mlir] Add vector op support to cuda-runner including vector.print.
Feb 24 2021, 12:42 AM · Restricted Project
herhut added inline comments to D96965: Pass GPU events instead of streams across async regions..
Feb 24 2021, 12:40 AM · Restricted Project
herhut accepted D96776: [mlir] Add lowering from math.expm1 to LLVM..

I won't ask to split out the math conversion from "standard" conversion, yet, but have you considered implementing this (as well as rsqrt from which most of the code is duplicated) as a sort of expand-math conversion instead?

Feb 24 2021, 12:24 AM · Restricted Project

Feb 16 2021

herhut accepted D96756: Lower math.expm1 to intrinsics in the GPUToNVVM and GPUToROCDL conversions..

Thanks. Phabricator keeps hiding these from me (might be my fault) and I have to find them in my email.

Feb 16 2021, 1:21 AM · Restricted Project
herhut added a comment to D96756: Lower math.expm1 to intrinsics in the GPUToNVVM and GPUToROCDL conversions..

This looks good. Is there a corresponding diff that adds the expm1 operation to math?

Feb 16 2021, 12:47 AM · Restricted Project
herhut updated subscribers of D96739: [mlir] Add math polynomial approximation pass.

I don't think a pass is the right way to model this, if we want to have support for fast-math we should model it through ops on each attributes, on the model of what LLVM is doing.

Feb 16 2021, 12:45 AM · Restricted Project

Feb 15 2021

herhut accepted D96425: [MLIR] Create memref dialect and move several dialect-specific ops from std..

+1 to landing and then cleaning up tests.

Feb 15 2021, 2:04 AM · Restricted Project

Feb 12 2021

herhut accepted D96591: [mlir] Use target-specific GPU kernel attributes in lowering pipelines.
Feb 12 2021, 4:20 AM · Restricted Project
herhut committed rG2bfe27da171e: [mlir][math] Fix cmake files after dialect splitting. (authored by herhut).
[mlir][math] Fix cmake files after dialect splitting.
Feb 12 2021, 2:25 AM
herhut committed rG4348d8ab7f6a: [mlir][math] Split off the math dialect. (authored by herhut).
[mlir][math] Split off the math dialect.
Feb 12 2021, 1:55 AM
herhut closed D96272: [mlir][math] Split off the math dialect..
Feb 12 2021, 1:55 AM · Restricted Project
herhut updated the diff for D96272: [mlir][math] Split off the math dialect..

Implement inlining interface

Feb 12 2021, 1:37 AM · Restricted Project

Feb 11 2021

herhut committed rG33a58c1c5ced: [mlir][gpu] Allow all dialects in SCF to GPU conversion. (authored by herhut).
[mlir][gpu] Allow all dialects in SCF to GPU conversion.
Feb 11 2021, 1:03 AM
herhut closed D96480: [mlir][gpu] Allow all dialects in SCF to GPU conversion..
Feb 11 2021, 1:03 AM · Restricted Project
herhut requested review of D96480: [mlir][gpu] Allow all dialects in SCF to GPU conversion..
Feb 11 2021, 12:44 AM · Restricted Project

Feb 10 2021

herhut added inline comments to D96401: Make shape.is_broadcastable/shape.cstr_broadcastable nary.
Feb 10 2021, 6:30 AM · Restricted Project
herhut added a comment to D96272: [mlir][math] Split off the math dialect..

Thanks for the review!

Feb 10 2021, 3:59 AM · Restricted Project
herhut updated the diff for D96272: [mlir][math] Split off the math dialect..

Added missing tests

Feb 10 2021, 3:23 AM · Restricted Project
herhut updated the diff for D96272: [mlir][math] Split off the math dialect..

Fix formatting issues.

Feb 10 2021, 2:57 AM · Restricted Project