> > For example, we may introduce explicit cache stage to add the padding, and > > mark this block for later processing. > > Wouldn't that require a "remove entirely" annotation that was suggested > against > [here](https://github.com/apache/tvm-rfcs/pull/77#issuecomment-1163019805)? I > could see how we could mark a transformation to be hoisted out later, but > when some simplifications require the constraint to be expressed in the > producer, and others in the consumer, exposing it to both `PrimFuncs` for > local simplifications would require either duplication of the block, or > maintaining non-local information only for a single pass. If the stage is > duplicated, all but one of the duplicates would need to be marked as > temporary. If the information is only retained for a single pass, then any > scheduling/optimization of a single subgraph would require walking through > the entire end-to-end model.
@tqchen may clarify. I think it's suggesting marking and lifting the stage to the graph and do global flowing instead of removing it (though from the perspective of the subgraph (PrimFunc) it is removed from the PrimFunc -- Reply to this email directly or view it on GitHub: https://github.com/apache/tvm-rfcs/pull/77#issuecomment-1163633675 You are receiving this because you are subscribed to this thread. Message ID: <apache/tvm-rfcs/pull/77/c1163633...@github.com>