We should be aware that if we disable tuple fusion when tuple is the return
value, we might lose some efficiency gain.
So this function
```
fn (%x: Tensor[(64, 64), float32]) -> (Tensor[(32, 64), float32], Tensor[(32,
64), float32]) {
%2 = fn (%p0: Tensor[(64, 64), float32], __dict__=meta[StrMap][0]) ->
(Tensor[(32, 64), float32], Tensor[(32, 64), float32]) {
%0 = strided_slice(%p0, begin=[0, 0], end=[32, 64], strides=[1, 1])
%1 = strided_slice(%p0, begin=[32, 0], end=[64, 64], strides=[1, 1])
(%0, %1)
}
%2(%x)
}
```
will become this
```
fn (%x: Tensor[(64, 64), float32]) -> (Tensor[(32, 64), float32], Tensor[(32,
64), float32]) {
%0 = fn (%p0: Tensor[(64, 64), float32], __dict__=meta[StrMap][0]) ->
Tensor[(32, 64), float32] {
strided_slice(%p0, begin=[0, 0], end=[32, 64], strides=[1, 1])
}
%1 = %0(%x)
%2 = fn (%p01: Tensor[(64, 64), float32], __dict__=meta[StrMap][1]) ->
Tensor[(32, 64), float32] {
strided_slice(%p01, begin=[32, 0], end=[64, 64], strides=[1, 1])
}
%3 = %2(%x)
(%1, %3)
}
```
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/dmlc/tvm/issues/3039#issuecomment-484373366