[Apache TVM Discuss] [Development/pre-RFC] [RFC] TVM Documentation Refactor

2021-08-05 Thread Chris Hoge via Apache TVM Discuss
It's not in my backlog for this quarter, but it's something we could look in to. --- [Visit Topic](https://discuss.tvm.apache.org/t/rfc-tvm-documentation-refactor/7456/8) to respond. You are receiving this because you enabled mailing list mode. To unsubscribe from these emails, [click h

Re: [apache/tvm-rfcs] [RFC] Adding initial SVE implementation (#18)

2021-08-05 Thread Giuseppe Rossini
HI @tqchen , I will try to sporadically comment, since this is a project I prototyped (and enjoyed :) ) when I was in Arm. If I understand your comment correctly, what @MeeraN7 is doing is closer to what you are proposing. Instead of transforming a loop into a Ramp, and passing the ramp "as i

[Apache TVM Discuss] [Development] Handling of `prefetch` (legalization/lowering)

2021-08-05 Thread Wuwei Lin via Apache TVM Discuss
I recently encountered similar issues. We can extent legalization/lowering to match this pattern `Evaluate(call_intrin))` and lower them to `Stmt` --- [Visit Topic](https://discuss.tvm.apache.org/t/handling-of-prefetch-legalization-lowering/10718/2) to respond. You are receiving this bec

[Apache TVM Discuss] [Development] Handling of `prefetch` (legalization/lowering)

2021-08-05 Thread Krzysztof Parzyszek via Apache TVM Discuss
Currently a `PrefetchNode` is replaced with a loop nest doing single cache line prefetches, and that's done in the storage flattener. This is bad for Hexagon, because Hexagon has a prefetch engine which can prefetch a 2D buffer in the background, but it requires a different setup. Once the l

Re: [apache/tvm] [RFC] Tracking bug for RFC 0008: microTVM Project API (#8595)

2021-08-05 Thread Mehrdad Hessar
Follow up issues that should be fixed: - The latest fix on this PR breaks on NRF board which seems to be because of `prj.conf` misconfiguration. - stm32l4r5zi_nucleo is removed from the hardware target list. - It also fails on disco board with similar error to NRF: ``` may be incomplete. make[2]:

[Apache TVM Discuss] [Development] Is there a difference between "lower" and "legalize" in TIR?

2021-08-05 Thread tqchen via Apache TVM Discuss
I do not disagree, that is why I think the argument can go both ways. One pt here though is that legalization means we need to recursively call the lowering strategy on the return expr of the legalized code, while in the case of lowering we do not need to do so. We could certainly name all t

[Apache TVM Discuss] [Development] Is there a difference between "lower" and "legalize" in TIR?

2021-08-05 Thread Krzysztof Parzyszek via Apache TVM Discuss
The goal is to rewrite the TIR into a way that the target's codegen can handle. Rewriting `exp` into `llvm.exp` can be seen as legalization too. There can be targets that can generate code directly for `exp`. In fact, the translation from `exp` to `llvm.exp` is only there for convenience (au

[Apache TVM Discuss] [Development] Is there a difference between "lower" and "legalize" in TIR?

2021-08-05 Thread tqchen via Apache TVM Discuss
Most op likely will have a generic legalization strategy(in case target lowering strategy does not exist), and specific lowering strategy per target --- [Visit Topic](https://discuss.tvm.apache.org/t/is-there-a-difference-between-lower-and-legalize-in-tir/10714/11) to respond. You are re

[Apache TVM Discuss] [Development] Is there a difference between "lower" and "legalize" in TIR?

2021-08-05 Thread Junru Shao via Apache TVM Discuss
Sorry I was posting on a wrong thread @kparzysz Thanks for asking! For example, there might be some rare TVM intrinsics like `tir.erf` that may be lowered to some cuda intrinsic (using `Lowering`), but those intrinsics aren't guaranteed to exist on other hardware platforms, and in this case,

[Apache TVM Discuss] [Development/pre-RFC] New Target Intrinsic Lowering and Legalization Mechanism

2021-08-05 Thread Junru Shao via Apache TVM Discuss
@kparzysz Thanks for asking! For example, there might be some rare TVM intrinsics like `tir.erf` that may be lowered to some cuda intrinsic (using `Lowering`), but those intrinsics aren't guaranteed to exist on other hardware platforms, and in this case, we substitute the intrinsic with more c

[Apache TVM Discuss] [Development] Is there a difference between "lower" and "legalize" in TIR?

2021-08-05 Thread tqchen via Apache TVM Discuss
Thanks @kparzysz . I believe the argument can go both ways in here. If we view the overall IR as "staged", lowering means we have a strategy to map them to the corresponding low level intrinsics. While legalization means we remap the op by composing using other expressions, which still need

[Apache TVM Discuss] [Development] Is there a difference between "lower" and "legalize" in TIR?

2021-08-05 Thread Krzysztof Parzyszek via Apache TVM Discuss
Why would an op have both? This is still the question that hasn't been answered. What was the intent behind having "lowering" and "legalization" as different things? --- [Visit Topic](https://discuss.tvm.apache.org/t/is-there-a-difference-between-lower-and-legalize-in-tir/10714/8) to r

[Apache TVM Discuss] [Development] Is there a difference between "lower" and "legalize" in TIR?

2021-08-05 Thread Xiyou Zhou via Apache TVM Discuss
I do agree that we don’t want abstractions that are not useful. Just to explain a bit more: any op could have both legalization and intrinsic lowering function. Type-wise, yes they are all TIR expressions and technically there’s no difference. Concept-wise, since any op can have both implement

[Apache TVM Discuss] [Development/pre-RFC] New Target Intrinsic Lowering and Legalization Mechanism

2021-08-05 Thread Krzysztof Parzyszek via Apache TVM Discuss
We should have a way of legalizing builtins/intrinsics that can involve creating new statements. Not every builtin may be replaceable with an expression. Has anybody thought about doing that? --- [Visit Topic](https://discuss.tvm.apache.org/t/new-target-intrinsic-lowering-and-legalizati

[Apache TVM Discuss] [Development] Is there a difference between "lower" and "legalize" in TIR?

2021-08-05 Thread Krzysztof Parzyszek via Apache TVM Discuss
>From what I've seen so far there is no difference at all, conceptual or not. >We should stick to one and get rid of the other. Both operate on the same TIR >representation. In one case the TIR expression is replaced by another >function call, in the other the resulting expression is more c

[Apache TVM Discuss] [Development] Is there a difference between "lower" and "legalize" in TIR?

2021-08-05 Thread Xiyou Zhou via Apache TVM Discuss
So technically I don’t think they are very different in behavior, i.e., the type of functions are the same in TIR. It’s more of a conceptual difference for now. --- [Visit Topic](https://discuss.tvm.apache.org/t/is-there-a-difference-between-lower-and-legalize-in-tir/10714/5) to respond.

[Apache TVM Discuss] [Development] Is there a difference between "lower" and "legalize" in TIR?

2021-08-05 Thread Xiyou Zhou via Apache TVM Discuss
Legalization is when there is no available op intrinsic lowering function available, we might use other op to combine and implement some op. For example, [here](https://github.com/apache/tvm/blob/3d380fc5817ce335ea823ce7e6b7e35717e579cd/src/target/llvm/intrin_rule_llvm.cc#L106) the exp10 op on

[Apache TVM Discuss] [Development] Is there a difference between "lower" and "legalize" in TIR?

2021-08-05 Thread Krzysztof Parzyszek via Apache TVM Discuss
Intrinsics and ops are represented in the same way in TIR though. What is the intended behavior of "legalization" that is different from "lowering"? --- [Visit Topic](https://discuss.tvm.apache.org/t/is-there-a-difference-between-lower-and-legalize-in-tir/10714/3) to respond. You are re

[Apache TVM Discuss] [Development] Is there a difference between "lower" and "legalize" in TIR?

2021-08-05 Thread Xiyou Zhou via Apache TVM Discuss
Hi, good catch! They are designed to deal with op intrinsic lowering and op legalization respectively in the lowering pass. Ideally, we always want to use intrinsic lowering before legalization if available. I don't think we are going to phase out any of them for now because there could be div

[Apache TVM Discuss] [Development/pre-RFC] New Target Intrinsic Lowering and Legalization Mechanism

2021-08-05 Thread Krzysztof Parzyszek via Apache TVM Discuss
Just found this thread. [What's the intended difference between lowering and legalization?](https://discuss.tvm.apache.org/t/is-there-a-difference-between-lower-and-legalize-in-tir/10714/2) --- [Visit Topic](https://discuss.tvm.apache.org/t/new-target-intrinsic-lowering-and-legalization-m

[Apache TVM Discuss] [Development] Is there a difference between "lower" and "legalize" in TIR?

2021-08-05 Thread Krzysztof Parzyszek via Apache TVM Discuss
Both, `FLowerIntrinsic` and `FLegalize` are the same type, and they are handled in a pretty much the same way. Is one of them being phased out? --- [Visit Topic](https://discuss.tvm.apache.org/t/is-there-a-difference-between-lower-and-legalize-in-tir/10714/1) to respond. You are receivi

Re: [apache/tvm-rfcs] Update RFC numbering guidance to use PR number (#17)

2021-08-05 Thread Tianqi Chen
let us wait for another two days and if there is no objection, we can merge it in -- 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/17#issuecomment-893562583

Re: [apache/tvm-rfcs] [RFC] Adding initial SVE implementation (#18)

2021-08-05 Thread Tianqi Chen
cc @junrushao1994 @vinx13 as it can be related to the future tensorization optimizations -- 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/18#issuecomment-893552428

Re: [apache/tvm-rfcs] [RFC] Adding initial SVE implementation (#18)

2021-08-05 Thread Tianqi Chen
Thanks @MeeraN7 for the RFC. SVE is certainly an interesting topic that can be covered in different ways. It would be very helpful to also show examples of the code along the transformations, so we can have a better understanding the possible design tradeoffs. Specifically: - The TIR before

Re: [apache/tvm-rfcs] [RFC] Adding initial SVE implementation (#18)

2021-08-05 Thread Meera Nakrani
@sjoerdmeijer @giuseros -- 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/18#issuecomment-893458074

[apache/tvm-rfcs] [RFC][Frontend] Add a PaddlePaddle Frontend (#19)

2021-08-05 Thread Jason
Add a PaddlePaddle frontend for TVM, also I have created [a RFC topic in forum](https://discuss.tvm.apache.org/t/rfc-add-a-paddlepaddle-frontend/10692) where we can discuss at same time. The related pull request is https://github.com/apache/tvm/pull/8645, still lack of UT, which will be finished