You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tvm.apache.org by Sasha Rush via Apache TVM Discuss <no...@discuss.tvm.ai> on 2021/02/11 14:03:39 UTC

[Apache TVM Discuss] [Development/RFC] [RFC] TensorIR: A schedulable IR for TVM


Hi TVM,

This idea is so cool, I think it is going to make it possible for mortals to use TVM effectively.

I have a couple of questions about the snippet of the scheduling language. 

The three issues I have when programming TVM are:

* Too many variables in scope with meaningless names, and forgetting where they can from.
* Losing track of which axes need to be split identically
* Not understanding the semantics of compute_at and how it tells which axes line up.

It seems like maybe this fixes a couple of these. However the following still bugs me a bit:

```
s = tir.create_schedule(matmul)
update = s.get_block("C")
i, j, k = s.get_axes(update)
i_o, i_i = s.split(i, bn)
j_o, j_i = s.split(j, bn)
k_o, k_i = s.split(k, 4)
s.reorder(i_o, j_o, k_o, k_i, i_i, j_i)
```

Curious why:

- There are strings for get_block?
- Why not have split go into a named out/in tuple to discourage this _ style naming. It gets so messy so quickly.
- does this propose to fix the issue of having to repeat the identical splits for things like shared and local buffers that need to be done later in the code. (In order for compute at to work)

Thanks so much! Love the library, want to get to a point where I can teach it to my students effectively. 
/Sasha





---
[Visit Topic](https://discuss.tvm.apache.org/t/rfc-tensorir-a-schedulable-ir-for-tvm/7872/43) to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click here](https://discuss.tvm.apache.org/email/unsubscribe/d870aadc9f3242a2985168611f0f69f57f3c6578e3e89818abd6916cd4095775).