Hi all, I have a question concerning the definition of tvm.compute() statements. Can anyone elaborate, why reductions are only allowed at top level of compute?

Simple example:

C = tvm.compute([N,M], lambda i,j: tvm.max(tvm.sum(A[i,k] * B[k, j], axis=k),0), name=‘C’)

This results in the following error:

tvm.

ffi.base.TVMError: [09:05:34] […]/tvm/src/op/compute_op.cc:535: Check failed: 0 == levelReductions are only allowed at the top level of compute. Please create another tensor for further composition.

While the option to compose the operation by using a second tensor is available, it is not possible tensorize such a composed workload ( [Tensorize] how to use tensorize for composition op ). Adding information about these limitations to the documentation would be very useful.