Page MenuHomePhabricator
Feed Advanced Search

Thu, Dec 1

Herald added a reviewer for D138759: [mlir][linalg] Allow some fusion on mixed generics: hanchung.

Hi, I just have a question regarding this update.

I am currently having trouble lowering these generic ops that have mixed tensor and buffer into loops. I think transformation passes in linalg such as -convert-linalg-to-loops and -linalg-bufferize cannot handle such generic ops. So I'm just wondering if these passes will be updated in the future to allow lowering of generic ops with mixed tensor and buffer?

Thanks.

Thu, Dec 1, 2:35 PM · Restricted Project, Restricted Project

Tue, Nov 29

Hardcode84 committed rGe3f75c1cb781: [mlir][linalg] Allow some fusion on mixed generics (authored by Hardcode84).
[mlir][linalg] Allow some fusion on mixed generics
Tue, Nov 29, 6:36 AM · Restricted Project, Restricted Project
Hardcode84 closed D138759: [mlir][linalg] Allow some fusion on mixed generics.
Tue, Nov 29, 6:36 AM · Restricted Project, Restricted Project
Hardcode84 committed rG339c87a8a086: [mlir][spirv] Add group ops (authored by Hardcode84).
[mlir][spirv] Add group ops
Tue, Nov 29, 6:05 AM · Restricted Project, Restricted Project
Hardcode84 closed D138756: [mlir][spirv] Add group ops.
Tue, Nov 29, 6:05 AM · Restricted Project, Restricted Project

Mon, Nov 28

Hardcode84 added a comment to D138756: [mlir][spirv] Add group ops.

Not vector, so I'll change them to just SPIRV_Float/SPIRV_Integer

Mon, Nov 28, 1:31 PM · Restricted Project, Restricted Project
Hardcode84 updated the diff for D138756: [mlir][spirv] Add group ops.

update types and description

Mon, Nov 28, 1:30 PM · Restricted Project, Restricted Project
Hardcode84 added a comment to D138761: [mlir] LocalAliasAnalysis: Allow adding restrict to function arguments.

I have somewhat of a concern that this is very adhoc. Having seen the pain that LLVM has gone through to support restrict, I'd like to see some thought out discussion before adding any kind of support.

Mon, Nov 28, 12:38 PM · Restricted Project, Restricted Project
Hardcode84 added inline comments to D138756: [mlir][spirv] Add group ops.
Mon, Nov 28, 12:11 PM · Restricted Project, Restricted Project

Sun, Nov 27

Hardcode84 added a reviewer for D138761: [mlir] LocalAliasAnalysis: Allow adding restrict to function arguments: rriddle.
Sun, Nov 27, 9:05 AM · Restricted Project, Restricted Project
Hardcode84 requested review of D138761: [mlir] LocalAliasAnalysis: Allow adding restrict to function arguments.
Sun, Nov 27, 9:05 AM · Restricted Project, Restricted Project
Hardcode84 added a reviewer for D138759: [mlir][linalg] Allow some fusion on mixed generics: pifon2a.
Sun, Nov 27, 7:34 AM · Restricted Project, Restricted Project
Hardcode84 updated the diff for D138759: [mlir][linalg] Allow some fusion on mixed generics.

fix typo

Sun, Nov 27, 7:32 AM · Restricted Project, Restricted Project
Hardcode84 requested review of D138759: [mlir][linalg] Allow some fusion on mixed generics.
Sun, Nov 27, 7:29 AM · Restricted Project, Restricted Project
Hardcode84 requested review of D138758: [mlir][gpu] Add `non_uniform` flag to gpu reduction ops.
Sun, Nov 27, 6:20 AM · Restricted Project, Restricted Project
Hardcode84 updated the diff for D138756: [mlir][spirv] Add group ops.

test roundtrip

Sun, Nov 27, 5:31 AM · Restricted Project, Restricted Project
Hardcode84 requested review of D138756: [mlir][spirv] Add group ops.
Sun, Nov 27, 5:19 AM · Restricted Project, Restricted Project

Wed, Nov 16

Hardcode84 committed rG06e972ed91e6: [mlir][linalg] Fix `FoldTensorCastProducerOp` for generic with memref output (authored by Hardcode84).
[mlir][linalg] Fix `FoldTensorCastProducerOp` for generic with memref output
Wed, Nov 16, 2:01 PM · Restricted Project, Restricted Project
Hardcode84 closed D137801: [mlir][linalg] Fix `FoldTensorCastProducerOp` for generic with memref output.
Wed, Nov 16, 2:01 PM · Restricted Project, Restricted Project
Hardcode84 committed rGadf795dc7ce7: [mlir][arith] Fold `and(a, and(a, b))` to `and(a, b)` (authored by Hardcode84).
[mlir][arith] Fold `and(a, and(a, b))` to `and(a, b)`
Wed, Nov 16, 1:59 PM · Restricted Project, Restricted Project
Hardcode84 closed D137647: [mlir][arith] Fold `and(a, and(a, b))` to `and(a, b)`.
Wed, Nov 16, 1:59 PM · Restricted Project, Restricted Project
Hardcode84 updated the diff for D137801: [mlir][linalg] Fix `FoldTensorCastProducerOp` for generic with memref output.

rebase, add comment

Wed, Nov 16, 1:31 PM · Restricted Project, Restricted Project
Hardcode84 updated the diff for D137647: [mlir][arith] Fold `and(a, and(a, b))` to `and(a, b)`.

rebase

Wed, Nov 16, 1:28 PM · Restricted Project, Restricted Project
Hardcode84 added a comment to D137801: [mlir][linalg] Fix `FoldTensorCastProducerOp` for generic with memref output.

Just out of curiosity. Why do you need the mixed form of linalg.generic?

In our python compiler we lowering numpy to the mix of tensor and memref (we cannot lower everything to tensor land with the presence on like ops like setitem)

This is very interesting and a use case we have always wanted to support despite our lacking a concrete example.
We speculated that bufferization could want to be done partially but in reality this need never materialized.

Some short post describing the use case a bit more and stressing the need for ops that work with both tensors and buffers would be quite useful IMO :)

I would also go as far as adding a comment in the @cast_producer_mixed test that mentions some of this, lest you don't mind risking someone in the future coming and saying "oh the mixed form is only used in that 1 test, let's drop it.." :)

Thanks for pushing on this!

Wed, Nov 16, 12:02 PM · Restricted Project, Restricted Project
Hardcode84 added a comment to D137801: [mlir][linalg] Fix `FoldTensorCastProducerOp` for generic with memref output.

ping

Wed, Nov 16, 3:22 AM · Restricted Project, Restricted Project
Hardcode84 added a comment to D137472: [mlir][memref] Add `memref.elt_bitcast` op.

ping

Wed, Nov 16, 3:22 AM · Restricted Project, Restricted Project
Hardcode84 added a comment to D137647: [mlir][arith] Fold `and(a, and(a, b))` to `and(a, b)`.

ping

Wed, Nov 16, 3:22 AM · Restricted Project, Restricted Project

Fri, Nov 11

Hardcode84 added a comment to D137801: [mlir][linalg] Fix `FoldTensorCastProducerOp` for generic with memref output.

Just out of curiosity. Why do you need the mixed form of linalg.generic?

Fri, Nov 11, 2:54 AM · Restricted Project, Restricted Project

Thu, Nov 10

Hardcode84 added reviewers for D137801: [mlir][linalg] Fix `FoldTensorCastProducerOp` for generic with memref output: pifon2a, ftynse.
Thu, Nov 10, 1:30 PM · Restricted Project, Restricted Project
Hardcode84 requested review of D137801: [mlir][linalg] Fix `FoldTensorCastProducerOp` for generic with memref output.
Thu, Nov 10, 1:21 PM · Restricted Project, Restricted Project

Tue, Nov 8

Hardcode84 updated the diff for D137472: [mlir][memref] Add `memref.elt_bitcast` op.

rebase, add comment

Tue, Nov 8, 8:27 AM · Restricted Project, Restricted Project
Hardcode84 added reviewers for D137647: [mlir][arith] Fold `and(a, and(a, b))` to `and(a, b)`: ftynse, bondhugula.
Tue, Nov 8, 8:01 AM · Restricted Project, Restricted Project
Hardcode84 requested review of D137647: [mlir][arith] Fold `and(a, and(a, b))` to `and(a, b)`.
Tue, Nov 8, 7:54 AM · Restricted Project, Restricted Project
Hardcode84 added a comment to D137472: [mlir][memref] Add `memref.elt_bitcast` op.

And another question, do we really need such strict check in verifier? IMO, it better to do a trivial int/float check in verifier and then potentially reject it on memref->llvm conversion level where we have all required info about layout and which seems a proper place for this.

Tue, Nov 8, 3:03 AM · Restricted Project, Restricted Project
Hardcode84 added a comment to D137472: [mlir][memref] Add `memref.elt_bitcast` op.

Can elt type bitcasts like those from vector<2xi16> to <i16> or to <i64> still be valid for some data layout?

Tue, Nov 8, 2:39 AM · Restricted Project, Restricted Project

Sat, Nov 5

Hardcode84 added inline comments to D137472: [mlir][memref] Add `memref.elt_bitcast` op.
Sat, Nov 5, 5:29 AM · Restricted Project, Restricted Project
Hardcode84 updated the diff for D137472: [mlir][memref] Add `memref.elt_bitcast` op.

review comments, better folder

Sat, Nov 5, 5:27 AM · Restricted Project, Restricted Project
Hardcode84 committed rGed4749f9373d: [mlir] Add `populateFunctionOpInterfaceTypeConversionPattern` version which… (authored by Hardcode84).
[mlir] Add `populateFunctionOpInterfaceTypeConversionPattern` version which…
Sat, Nov 5, 4:22 AM · Restricted Project, Restricted Project
Hardcode84 closed D137469: [mlir] Add `populateFunctionOpInterfaceTypeConversionPattern` version which operates on any `FunctionOpInterface`.
Sat, Nov 5, 4:22 AM · Restricted Project, Restricted Project

Fri, Nov 4

Hardcode84 updated the diff for D137469: [mlir] Add `populateFunctionOpInterfaceTypeConversionPattern` version which operates on any `FunctionOpInterface`.

remove copypaste

Fri, Nov 4, 4:38 PM · Restricted Project, Restricted Project
Hardcode84 requested review of D137472: [mlir][memref] Add `memref.elt_bitcast` op.
Fri, Nov 4, 4:19 PM · Restricted Project, Restricted Project
Hardcode84 added a comment to D137469: [mlir] Add `populateFunctionOpInterfaceTypeConversionPattern` version which operates on any `FunctionOpInterface`.

Do we still need a version operating on some specific op? If no, I can remove it completely.

Fri, Nov 4, 3:32 PM · Restricted Project, Restricted Project
Hardcode84 added a reviewer for D137469: [mlir] Add `populateFunctionOpInterfaceTypeConversionPattern` version which operates on any `FunctionOpInterface`: rriddle.
Fri, Nov 4, 3:31 PM · Restricted Project, Restricted Project
Hardcode84 requested review of D137469: [mlir] Add `populateFunctionOpInterfaceTypeConversionPattern` version which operates on any `FunctionOpInterface`.
Fri, Nov 4, 3:30 PM · Restricted Project, Restricted Project
Hardcode84 accepted D137459: [mlir][spirv] Fold noop `BitcastsOp`s.
Fri, Nov 4, 2:33 PM · Restricted Project, Restricted Project
Hardcode84 added inline comments to D137459: [mlir][spirv] Fold noop `BitcastsOp`s.
Fri, Nov 4, 2:31 PM · Restricted Project, Restricted Project
Hardcode84 added inline comments to D137459: [mlir][spirv] Fold noop `BitcastsOp`s.
Fri, Nov 4, 2:29 PM · Restricted Project, Restricted Project
Hardcode84 added a comment to D137459: [mlir][spirv] Fold noop `BitcastsOp`s.

I'm ok to merge it as is to fix the bug but we are basically abusing the fact the folder will run immediately after pattern fixing invalid IR.

Fri, Nov 4, 1:01 PM · Restricted Project, Restricted Project
Hardcode84 added a comment to D137459: [mlir][spirv] Fold noop `BitcastsOp`s.

Should we also update verifier to allow bitcasts to have same src and dst type? Is this allowed in spirv?

Fri, Nov 4, 12:52 PM · Restricted Project, Restricted Project
Hardcode84 added inline comments to D137115: [mlir][spirv] Do not truncate i/f64 -> i/f32 in SPIRVConversion.
Fri, Nov 4, 9:58 AM · Restricted Project, Restricted Project

Nov 4 2022

Hardcode84 added inline comments to D137115: [mlir][spirv] Do not truncate i/f64 -> i/f32 in SPIRVConversion.
Nov 4 2022, 2:41 AM · Restricted Project, Restricted Project
Hardcode84 accepted D137385: [mlir][linalg] Fix neutral element value for minf/maxf.

LGTM

Nov 4 2022, 2:24 AM · Restricted Project, Restricted Project

Nov 2 2022

Hardcode84 added inline comments to D137115: [mlir][spirv] Do not truncate i/f64 -> i/f32 in SPIRVConversion.
Nov 2 2022, 5:19 PM · Restricted Project, Restricted Project
Hardcode84 committed rG2e36dadbd6ea: [mlir] Make `OperationFingerPrint` class public (authored by Hardcode84).
[mlir] Make `OperationFingerPrint` class public
Nov 2 2022, 3:26 AM · Restricted Project, Restricted Project
Hardcode84 closed D137078: [mlir] Make `OperationFingerPrint` class public.
Nov 2 2022, 3:26 AM · Restricted Project, Restricted Project

Oct 31 2022

Hardcode84 requested review of D137078: [mlir] Make `OperationFingerPrint` class public.
Oct 31 2022, 6:42 AM · Restricted Project, Restricted Project

Oct 25 2022

Hardcode84 added inline comments to D136586: [mlir][linalg] Add reduction tiling transformation.
Oct 25 2022, 5:57 AM · Restricted Project, Restricted Project

Oct 22 2022

Hardcode84 committed rGeff54060f4c4: [mlir][nfc] Fully spell mlir typename in generated code. (authored by Hardcode84).
[mlir][nfc] Fully spell mlir typename in generated code.
Oct 22 2022, 11:29 AM · Restricted Project, Restricted Project
Hardcode84 closed D136534: [mlir][nfc] Fully spell mlir typename in generated code..
Oct 22 2022, 11:28 AM · Restricted Project, Restricted Project
Hardcode84 added a reviewer for D136534: [mlir][nfc] Fully spell mlir typename in generated code.: rriddle.
Oct 22 2022, 11:10 AM · Restricted Project, Restricted Project
Hardcode84 requested review of D136534: [mlir][nfc] Fully spell mlir typename in generated code..
Oct 22 2022, 11:05 AM · Restricted Project, Restricted Project

Oct 17 2022

Hardcode84 committed rG04ac8cb8e1fa: [mlir][linalg] Fix canonicalizer crash for `linalg.generic` with mixed semantics (authored by Hardcode84).
[mlir][linalg] Fix canonicalizer crash for `linalg.generic` with mixed semantics
Oct 17 2022, 6:25 AM · Restricted Project, Restricted Project
Hardcode84 closed D135725: [mlir][linalg] Fix canonicalizer crash for `linalg.generic` with mixed semantics.
Oct 17 2022, 6:25 AM · Restricted Project, Restricted Project

Oct 14 2022

Hardcode84 committed rG8ca505871eeb: [mlir][spirv] GPUToSPIRVPass: support case when `TargetEnv` attribute attached… (authored by Hardcode84).
[mlir][spirv] GPUToSPIRVPass: support case when `TargetEnv` attribute attached…
Oct 14 2022, 3:34 AM · Restricted Project, Restricted Project
Hardcode84 closed D135907: [mlir][spirv] GPUToSPIRVPass: support case when `TargetEnv` attribute attached to the `gpu.module`.
Oct 14 2022, 3:34 AM · Restricted Project, Restricted Project
Hardcode84 updated the diff for D135907: [mlir][spirv] GPUToSPIRVPass: support case when `TargetEnv` attribute attached to the `gpu.module`.

update comment

Oct 14 2022, 2:54 AM · Restricted Project, Restricted Project
Hardcode84 added inline comments to D135907: [mlir][spirv] GPUToSPIRVPass: support case when `TargetEnv` attribute attached to the `gpu.module`.
Oct 14 2022, 1:42 AM · Restricted Project, Restricted Project

Oct 13 2022

Hardcode84 updated the diff for D135907: [mlir][spirv] GPUToSPIRVPass: support case when `TargetEnv` attribute attached to the `gpu.module`.

fix use-after-free bug

Oct 13 2022, 12:24 PM · Restricted Project, Restricted Project
Hardcode84 requested review of D135907: [mlir][spirv] GPUToSPIRVPass: support case when `TargetEnv` attribute attached to the `gpu.module`.
Oct 13 2022, 12:18 PM · Restricted Project, Restricted Project

Oct 11 2022

Hardcode84 requested review of D135725: [mlir][linalg] Fix canonicalizer crash for `linalg.generic` with mixed semantics.
Oct 11 2022, 4:18 PM · Restricted Project, Restricted Project
Hardcode84 committed rGb845addae89b: [mlir][gpu] Add `subgroup_reduce` operation (authored by Hardcode84).
[mlir][gpu] Add `subgroup_reduce` operation
Oct 11 2022, 2:49 AM · Restricted Project, Restricted Project
Hardcode84 closed D135323: [mlir][gpu] Add `subgroup_reduce` operation.
Oct 11 2022, 2:49 AM · Restricted Project, Restricted Project

Oct 6 2022

Hardcode84 updated the diff for D135323: [mlir][gpu] Add `subgroup_reduce` operation.

add uniform requirement

Oct 6 2022, 1:59 AM · Restricted Project, Restricted Project
Hardcode84 added a comment to D135323: [mlir][gpu] Add `subgroup_reduce` operation.

are you planning to add some lowering for it? This can be useful to at least "enforce the semantic". For instance it should be easy to have a lowering of this shuffle ops.

Oct 6 2022, 1:28 AM · Restricted Project, Restricted Project

Oct 5 2022

Hardcode84 updated the diff for D135323: [mlir][gpu] Add `subgroup_reduce` operation.

fix typos

Oct 5 2022, 3:05 PM · Restricted Project, Restricted Project
Hardcode84 requested review of D135323: [mlir][gpu] Add `subgroup_reduce` operation.
Oct 5 2022, 3:02 PM · Restricted Project, Restricted Project
Hardcode84 committed rGa93ec06ae627: [mlir][gpu] Introduce `host_shared` flag to `gpu.alloc` (authored by Hardcode84).
[mlir][gpu] Introduce `host_shared` flag to `gpu.alloc`
Oct 5 2022, 1:04 PM · Restricted Project, Restricted Project
Hardcode84 closed D133533: [mlir][gpu] Introduce `shared` flag to `gpu.alloc`.
Oct 5 2022, 1:03 PM · Restricted Project, Restricted Project

Oct 2 2022

Hardcode84 added a comment to D133533: [mlir][gpu] Introduce `shared` flag to `gpu.alloc`.

Can host_shared go along with any memory space or just the default memory space

Oct 2 2022, 4:20 AM · Restricted Project, Restricted Project

Oct 1 2022

Hardcode84 updated the diff for D133533: [mlir][gpu] Introduce `shared` flag to `gpu.alloc`.

typo

Oct 1 2022, 5:15 AM · Restricted Project, Restricted Project
Hardcode84 updated the diff for D133533: [mlir][gpu] Introduce `shared` flag to `gpu.alloc`.

rebase, rename to host_shared, notifyMatchFailure

Oct 1 2022, 5:13 AM · Restricted Project, Restricted Project

Sep 25 2022

Hardcode84 added a comment to D133533: [mlir][gpu] Introduce `shared` flag to `gpu.alloc`.

We (MLIR codegen for Intel GPUs) are currently using such memory for transferring data between GPU and Host in our pipeline. And also, we have libraries, which are using shared memory under the hood. It is very effective for integrated GPUs (as they use same memory under the hood), it is less effective for our discrete GPUs, but still usable. We may replace some of these cases with explicit copies in the future, but some cases will definitely remain.

I understand this is not ideal naming choice, do you have better idea?

host_gpu_shared?

Sep 25 2022, 3:24 AM · Restricted Project, Restricted Project

Sep 21 2022

Hardcode84 committed rG54d81e49e3b7: [mlir] Allow negative strides and offset in StridedLayoutAttr (authored by Hardcode84).
[mlir] Allow negative strides and offset in StridedLayoutAttr
Sep 21 2022, 4:54 AM · Restricted Project, Restricted Project
Hardcode84 closed D134147: [mlir] Allow negative strides and offset in StridedLayoutAttr.
Sep 21 2022, 4:53 AM · Restricted Project, Restricted Project

Sep 19 2022

Hardcode84 updated the diff for D134147: [mlir] Allow negative strides and offset in StridedLayoutAttr.

use consumeIf, basic llvm lowering test

Sep 19 2022, 2:33 PM · Restricted Project, Restricted Project

Sep 18 2022

Hardcode84 added a comment to D134147: [mlir] Allow negative strides and offset in StridedLayoutAttr.

Discussion https://discourse.llvm.org/t/status-of-negative-strides-support-in-memref-subview/65346

Sep 18 2022, 2:52 PM · Restricted Project, Restricted Project
Hardcode84 added a reviewer for D134147: [mlir] Allow negative strides and offset in StridedLayoutAttr: ftynse.
Sep 18 2022, 2:50 PM · Restricted Project, Restricted Project
Hardcode84 requested review of D134147: [mlir] Allow negative strides and offset in StridedLayoutAttr.
Sep 18 2022, 2:50 PM · Restricted Project, Restricted Project

Sep 13 2022

Hardcode84 added a comment to D133533: [mlir][gpu] Introduce `shared` flag to `gpu.alloc`.

We (MLIR codegen for Intel GPUs) are currently using such memory for transferring data between GPU and Host in our pipeline. And also, we have libraries, which are using shared memory under the hood. It is very effective for integrated GPUs (as they use same memory under the hood), it is less effective for our discrete GPUs, but still usable. We may replace some of these cases with explicit copies in the future, but some cases will definitely remain.

Sep 13 2022, 2:21 AM · Restricted Project, Restricted Project
Hardcode84 added inline comments to D133533: [mlir][gpu] Introduce `shared` flag to `gpu.alloc`.
Sep 13 2022, 1:12 AM · Restricted Project, Restricted Project

Sep 12 2022

Hardcode84 updated the diff for D133533: [mlir][gpu] Introduce `shared` flag to `gpu.alloc`.

do not print space, add checck in llvm lowering

Sep 12 2022, 1:15 PM · Restricted Project, Restricted Project

Sep 11 2022

Hardcode84 added a comment to D133533: [mlir][gpu] Introduce `shared` flag to `gpu.alloc`.

We are not using upstream gpu-to-llvm lowering.

Sep 11 2022, 1:47 AM · Restricted Project, Restricted Project

Sep 8 2022

Hardcode84 requested review of D133533: [mlir][gpu] Introduce `shared` flag to `gpu.alloc`.
Sep 8 2022, 3:05 PM · Restricted Project, Restricted Project

Sep 7 2022

Hardcode84 added inline comments to D133424: [mlir][memref] Add realloc op..
Sep 7 2022, 1:05 PM · Restricted Project, Restricted Project

Aug 25 2022

Hardcode84 abandoned D130849: [mlir][memref] Introduce memref.offset and memref.stride ops.

Abandoning in favor of https://reviews.llvm.org/D132243

Aug 25 2022, 3:33 PM · Restricted Project, Restricted Project

Aug 19 2022

Hardcode84 added a comment to D132243: [mlir][MemRef] Introduce a memref.extract_metadata op..

Op itself is LGTM but maybe we should also add some simple test in ops.mlir?

Aug 19 2022, 9:10 AM · Restricted Project, Restricted Project

Aug 5 2022

Hardcode84 updated the diff for D130849: [mlir][memref] Introduce memref.offset and memref.stride ops.

fix test func name

Aug 5 2022, 3:41 PM · Restricted Project, Restricted Project
Hardcode84 added inline comments to D130849: [mlir][memref] Introduce memref.offset and memref.stride ops.
Aug 5 2022, 3:39 PM · Restricted Project, Restricted Project
Hardcode84 updated the diff for D130849: [mlir][memref] Introduce memref.offset and memref.stride ops.

getStridesAndOffset

Aug 5 2022, 3:37 PM · Restricted Project, Restricted Project

Jul 31 2022

Hardcode84 updated the diff for D130849: [mlir][memref] Introduce memref.offset and memref.stride ops.

fix linux build

Jul 31 2022, 10:45 AM · Restricted Project, Restricted Project