@tqchen do we have abstractions in TVM’s unfied IR infra?

1,  multi-stage ir for relay::Function:
```
c = IRModule A(a, b){
  a = a + 1;
  b = b + 1;
  return a+b;
}

e =  IRModule B(c, d){
  c = c + 1;
  d = d + 1;
  return c+d;
}
```
With this abstraction, we can express complex/big ops with limited small ops; 
also we can treat big op as white box op, so we can do some computation 
optimizations globally.

2, multi-stage ir for tir::PrimFunc:
```
c = IRModule A(a, b){
 lowered tir
}

e =  IRModule B(c, d){
  lowered tir
}
```
with this abstraction, we can do some low level global optimizations, like dma 
preload for local buffers.
we may need to break lower into several api, so we can utilize different 
property of tir, like before stroageflatten or after.





---
[Visit Topic](https://discuss.tvm.ai/t/ir-unified-tvm-ir-infra/4801/6) to 
respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.ai/email/unsubscribe/25ea4666880cf9d3e1284d1f1a02df0edef00e3874eceec1a426fff8ebab18af).

Reply via email to