Re: [apache/tvm] [VOTE] Adopt the New RFC Process (#7991)

2021-05-06 Thread Lunderberg
+1 One small question: Under "Tracking Issue", the tracking issue is closed "when the RFC is either completed or abandoned." Is "abandoned" the same as "postponed" in this context, or is there a distinction between them? -- You are receiving this because you are subscribed to this thread. Rep

Re: [apache/tvm] [VOTE] Adopt the New RFC Process (#7991)

2021-05-06 Thread Lunderberg
> @Lunderberg @junrushao1994 good catch, would changing "abandoned" to > "postponed" resolve the ambiguity sufficiently? Thank you! That resolves my question. -- You are receiving this because you are subscribed to this thread. Reply to this email directly o

[apache/tvm-rfcs] [RFC][TIR] Separate physical and logical layout of buffers (#39)

2021-10-05 Thread Lunderberg
This RFC introduces a hard boundary between the “logical layout” of a mathematical tensor and the “physical layout” of a buffer in memory, along with a specification for defining the conversion between the two. You can view, comment on, or merge this pull request online at: https://github.com/

[apache/tvm-rfcs] [RFC][TIR] 1-d AllocateNode::extent (#40)

2021-10-06 Thread Lunderberg
This RFC changes `Array AllocateNode::extents` to `PrimExpr AllocateNode::extent`, giving the 1-d size of the buffer to be allocated. This is part of the separation between logical layout and physical layout, proposed in [RFC#0039](https://github.com/apache/tvm-rfcs/pull/0039). TODO:

Re: [apache/tvm-rfcs] [RFC][TIR] Separate physical and logical layout of buffers (#39)

2021-10-06 Thread Lunderberg
Thank you for the comments, @vinx13. > For example, another way is to use a mapping function: (n, c, h, w) -> (n, > tir.floordiv(c, 4), h, w, tir.floormod(c, 4)). This would allow arbitrary > mapping (we can add more restrictions like requiring affine mapping though, > to make analysis easier).

Re: [apache/tvm-rfcs] [RFC][TIR] Separate physical and logical layout of buffers (#39)

2021-10-06 Thread Lunderberg
True, and that would allow both for user-defined mappings, and for specifying standard layouts. I have a bit of concern with using the `scope` parameter to also describe layouts, since in my mind "scope" refers to where the entire buffer is located, while "layout" refers to how individual eleme

Re: [apache/tvm-rfcs] [RFC][TIR] Separate physical and logical layout of buffers (#39)

2021-10-07 Thread Lunderberg
> How will vectorization work? If there is a `vectorize` directive spanning a > logical extent, will the vectorization pass create multidimensional `ramp`s? > How will vector loads and stores be represented? While in principle a vectorized load/store could fallback to a non-vectorized load/stor

Re: [apache/tvm-rfcs] [RFC][TIR] Separate physical and logical layout of buffers (#39)

2021-10-07 Thread Lunderberg
Following a video chat with @csullivan, documenting some of the key points of the conversation. * Setting the physical layout in a TE-based schedule has two roles. One is the rewrite the buffer itself, and the other is to define the order of iteration when writing to the buffer. In the latter

Re: [apache/tvm-rfcs] [RFC][TIR] Change AllocateNode::extent to 1-D (#40)

2021-10-08 Thread Lunderberg
This is the first in a series of proposed changes, and this one on its own won't be able to support the `PHYSICAL_AXIS_SEPARATOR`. In the [Impacted TIR Nodes](https://github.com/Lunderberg/tvm-rfcs/blob/data_layout/rfcs/0039-buffer-physical-layout.md#impacted-tir-nodes) section of RF

Re: [apache/tvm-rfcs] [RFC][TIR] Separate physical and logical layout of buffers (#39)

2021-10-28 Thread Lunderberg
Following discussion with @tqchen , this RFC has had significant updates made. The major change is that instead of extending the capabilities of `Store` and `Load` nodes to support N-d indices, they would instead be removed in favor of keeping `BufferStore` and `BufferLoad` nodes throughout the

Re: [apache/tvm-rfcs] [RFC][TIR] Change AllocateNode::extent to 1-D (#40)

2021-10-28 Thread Lunderberg
Closing this RFC, as it is no longer applicable after significant changes made to #39. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/apache/tvm-rfcs/pull/40#issuecomment-954215697

Re: [apache/tvm-rfcs] [RFC][TIR] Change AllocateNode::extent to 1-D (#40)

2021-10-28 Thread Lunderberg
Closed #40. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/apache/tvm-rfcs/pull/40#event-5536746113

Re: [apache/tvm-rfcs] [RFC][TIR] Layout transformations on buffer access (#39)

2021-11-01 Thread Lunderberg
> I'd suggest adding the BufferTransform data structure here which will be very > helpful to other audience. Sounds good, and I've added a description of it, and a possible data structure for it. -- You are receiving this because you are subscribed to this thread. Reply to this email directly

Re: [apache/tvm-rfcs] [RFC][TIR] Layout transformations on buffer access (#39)

2021-11-03 Thread Lunderberg
> Usage of te.AXIS_SEPARATOR: It seems this is only used in the API side but > not in BufferTransform, would be good to get some clarification. That's correct, the `te.AXIS_SEPARATOR` only appears in the API for the TE schedules, and not in the TIR graph generated from the TE schedule. I've up

Re: [apache/tvm-rfcs] [RFC][TIR] Layout transformations on buffer access (#39)

2021-11-03 Thread Lunderberg
> Since Option2 suggests the transform is global, shall we consider > BufferTransform being part of function attribute? I had initially placed `BufferTransform` as a statement so that it could be possible to extended it to have a transformation defined by references to variables within the func

Re: [apache/tvm-rfcs] [RFC][TIR] Layout transformations on buffer access (#39)

2021-11-04 Thread Lunderberg
Following a video chat discussion with @vinx13 , we touched on a number of points, summarized below. Also, we are adding @vinx13 as a co-author on this RFC. - Are there cases where the flattening in `StorageFlatten`/`FlattenBuffer` should be inferred from buffer properties, rather than explici

Re: [apache/tvm-rfcs] [RFC][TIR] Layout transformations on buffer access (#39)

2021-12-13 Thread Lunderberg
Sounds good! I've updated with examples of scheduling with the returned new axes, which work in the implementation posted in [PR#9727](https://github.com/apache/tvm/pull/9727). -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHu

Re: [apache/tvm] [VOTE] Replace codeowners with more relevant automation (Issue #10471)

2022-03-07 Thread Eric Lunderberg
+1 -- Reply to this email directly or view it on GitHub: https://github.com/apache/tvm/issues/10471#issuecomment-1060835861 You are receiving this because you are subscribed to this thread. Message ID:

Re: [apache/tvm-rfcs] Add Target Pre-processing RFC (PR #71)

2022-05-18 Thread Eric Lunderberg
> Based on my previous re-review of LLVM, thanks to @tqchen, it might help to > use my_target.features.dsp rather than my_target.arch.has_dsp and clarifying > these are features available to the Target? What do you think? I like that, and the renaming makes it clear which are boolean parameters

[apache/tvm-rfcs] [RFC] Buffer Layout Padding (PR #77)

2022-06-06 Thread Eric Lunderberg
This RFC introduces a method to specify padding to be applied as part of a buffer layout transformation, to be used when the desired layout does not evenly tile the buffer being transformed, and simplifications that can be performed based on these padded buffers. The motivating examples are pri

Re: [apache/tvm-rfcs] [RFC] Buffer Layout Padding (PR #77)

2022-06-21 Thread Eric Lunderberg
> Introducing changes to TIR would needs some additional thoughts that deserves > some extra consideration. Due to the N*M complexity (where N is the TIR > possibilities and M is the number of primitives to be supported) that needs > to be handled in implementation (by backend implementers and p

Re: [apache/tvm-rfcs] [RFC] Buffer Layout Padding (PR #77)

2022-06-22 Thread Eric Lunderberg
> Indeed it is important to avoid having a separate compute definition for each > workload on a new target. In this particular case, all computation definition > would start with the original layout. Then there is a "schedule > transformation" like transform layout which will generate the new st

Re: [apache/tvm-rfcs] [RFC] Buffer Layout Padding (PR #77)

2022-06-22 Thread Eric Lunderberg
> It doesn't add additional semantic, the computation semantic stays the same, > it is a hint to the graph compiler. My apologies, I had meant the semantics of a node from the perspective of a TIR transformation, not the semantics from the perspective of the computation being described. For a

Re: [apache/tvm-rfcs] [RFC] Buffer Layout Padding (PR #77)

2022-06-22 Thread Eric Lunderberg
Writing out some of my thoughts, to see if there's a way to express the constraints while only using existing TIR features. The main goals would be as follows. 1. Allow simplification of expressions based on the values present in the padding. 2. Allow local simplifications to take advantage of

Re: [apache/tvm-rfcs] [RFC] Buffer Layout Padding (PR #77)

2022-06-22 Thread Eric Lunderberg
> For example, we may introduce explicit cache stage to add the padding, and > mark this block for later processing. Wouldn't that require a "remove entirely" annotation that was suggested against [here](https://github.com/apache/tvm-rfcs/pull/77#issuecomment-1163019805)? I could see how we co

Re: [apache/tvm-rfcs] [RFC] Buffer Layout Padding (PR #77)

2022-06-24 Thread Eric Lunderberg
> Talking about “constraints”, it is also useful to talk about categories of > them, roughly we can divide them into three categories. I like this breakdown, and agree. In this categorization, what I've been calling "constraints" would be "assumptions". Double-checking in `builtin.h`, it look

Re: [apache/tvm-rfcs] [RFC] Buffer Layout Padding (PR #77)

2022-06-24 Thread Eric Lunderberg
> Our design principle at TIR level ideally we start with one instance of > possibility, then use probabilistic space of meta-schedule to represent > multiple choices. For this, would the layout re-flowing occur periodically during optimization? Otherwise, including transformations in the perf

Re: [apache/tvm-rfcs] [RFC] Buffer Layout Padding (PR #77)

2022-06-28 Thread Eric Lunderberg
These make sense, and agreed that the TIR->global feedback is important for enabling the layout reflow. Going back through the discussion, I think we're converging on agreement on what features are required, and the main question remaining are how to best provide annotation for non-local inform

Re: [apache/tvm-rfcs] [RFC] Buffer Layout Padding (PR #77)

2022-06-30 Thread Eric Lunderberg
> In general it is helpful to first keep schedule decision local, e.g. > introducing a caching stage (AC, BC in the example), the compose with another > reflowing pass to bring the decision to consumer/producers. My goal with the latest update wasn't to require global decisions, but to make loc

Re: [apache/tvm-rfcs] [RFC] Buffer Layout Padding (PR #77)

2022-07-12 Thread Eric Lunderberg
Thank you very much on the comments, suggestions, and discussion, and I'm quite happy with how the design evolved over the course of the discussions! -- Reply to this email directly or view it on GitHub: https://github.com/apache/tvm-rfcs/pull/77#issuecomment-1182157349 You are receiving this be

Re: [apache/tvm] [VOTE] Commit Messages RFC (Issue #12583)

2022-08-30 Thread Eric Lunderberg
+1 -- Reply to this email directly or view it on GitHub: https://github.com/apache/tvm/issues/12583#issuecomment-1232123344 You are receiving this because you are subscribed to this thread. Message ID:

Re: [apache/tvm-rfcs] [RFC] Add Commit Message Guideline (PR #88)

2022-08-31 Thread Eric Lunderberg
[Rendered link](https://github.com/gromero/tvm-rfcs/blob/cmg/rfcs/0088-commit-message-guideline.md) -- Reply to this email directly or view it on GitHub: https://github.com/apache/tvm-rfcs/pull/88#issuecomment-1233170752 You are receiving this because you are subscribed to this thread. Message

Re: [apache/tvm-rfcs] [RFC] Introduce PresburgerSet (PR #99)

2023-02-21 Thread Eric Lunderberg
I very much like the proposed improvements, especially the use cases for inner-block and inter-block analysis. While I have made some development [for similar applications](https://github.com/apache/tvm/blob/main/src/tir/analysis/control_flow_graph.h), the additional formalism and reliability

Re: [apache/tvm] [VOTE] Clarify Community Strategy Decision Process (Issue #15521)

2023-08-11 Thread Eric Lunderberg
+1 -- Reply to this email directly or view it on GitHub: https://github.com/apache/tvm/issues/15521#issuecomment-1675087792 You are receiving this because you are subscribed to this thread. Message ID:

Re: [apache/tvm-rfcs] [RFC] Scalable vectors in TIR (PR #104)

2023-10-06 Thread Eric Lunderberg
> What I'm aiming at is to be able to lower the TIR to a generic CPU, that is > to an architecture that does not support SVE. The TIR will need to have some > default lowering in CodeGenLLVM/CodeGenCPU, so being able to do that is > important. Could it instead be in a target-dependent lowering

Re: [apache/tvm-rfcs] [RFC] Scalable vectors in TIR (PR #104)

2023-10-10 Thread Eric Lunderberg
Agreeing with @kparzysz-quic, changes that update the `DLDataType` would need to be approached very cautiously. I usually lean toward allowing short-term breakages if they lead to better long-term code health, but updating the `DLDataType` would be very wide reaching even more my tastes. One

Re: [apache/tvm] [VOTE] Transition Main to Unity (Issue #16368)

2024-01-11 Thread Eric Lunderberg
+1 -- Reply to this email directly or view it on GitHub: https://github.com/apache/tvm/issues/16368#issuecomment-1887308146 You are receiving this because you are subscribed to this thread. Message ID:

Re: [apache/tvm] [VOTE] Release Apache TVM v0.16.0.rc0 (Issue #16912)

2024-04-27 Thread Eric Lunderberg
+1 -- Reply to this email directly or view it on GitHub: https://github.com/apache/tvm/issues/16912#issuecomment-2080793568 You are receiving this because you are subscribed to this thread. Message ID:

[apache/tvm] [Bugfix][NCCL] Release NCCL thread_local resources in destructor (PR #17078)

2024-06-10 Thread Eric Lunderberg
Prior to this commit, allocations performed by `ncclCommInitRank` had no corresponding call to `ncclCommDestroy`. While `ncclCommDestroy` does occur in the `CCLThreadLocalContext::Clear` method, there are no calls into this method. On worker processes, the failure to call `ncclCommDestroy` typ

[Apache TVM Discuss] [Development/RFC] [RFC] Parametrized Unit Tests

2021-05-11 Thread Eric Lunderberg via Apache TVM Discuss
Adding notes from a few video chats, so that there is a record of the discussion >From @tkonolige , confirmed that the current implementation of >`@tvm.testing.parametrize_targets` shows skipped targets if they are >explicitly listed in the decorator, but not if they come from >`TVM_TEST_TARG

[Apache TVM Discuss] [Development/RFC] [RFC] Parametrized Unit Tests

2021-05-17 Thread Eric Lunderberg via Apache TVM Discuss
Correct, the different cases are intended to show the entire contents of a test file. The names in this example are chosen so that it can be run with minimal interaction between cases. For the `fixture(scope="module")`, this indicates when pytest should clean up a fixture, but it is only ava

[Apache TVM Discuss] [Development/pre-RFC] [docs][discuss] Convert ReStructuredText docs to Markdown?

2021-06-17 Thread Eric Lunderberg via Apache TVM Discuss
I think I'd lean towards markdown for consistency with other services, but that's only if all other features were equal. Markdown would be nicer for reviewing, since it can be viewed from github in the browser, but the I think cross-references are the more important feature. Would either md

[Apache TVM Discuss] [Development/pre-RFC] [pre-RFC] Vectorized TIR Buffers

2021-07-29 Thread Eric Lunderberg via Apache TVM Discuss
@masahi Tagging following comments on https://github.com/apache/tvm/pull/8528#pullrequestreview-718506978 --- [Visit Topic](https://discuss.tvm.apache.org/t/pre-rfc-vectorized-tir-buffers/10615/5) to respond. You are receiving this because you enabled mailing list mode. To unsubscribe f