slyubomirsky opened a new pull request, #15878: URL: https://github.com/apache/tvm/pull/15878
As discussed in the October 3, 2023, community meeting, for cases like the `KVCache` in LLaMa in mlc-llm, it might be desirable to have a way to have packed calls inside dataflow blocks where the packed calls simply "consume" their output and mutate it in-place (performing no other side effects). While this is not pure, if the other conditions for doing an in-place call are met (no other live aliases of the consumed value), this is safe, though users should use caution if applying it. (The in-place update analyses could also be used to make sure the conditions are met.) This PR introduces a `call_inplace_packed` operator to signal this intent, though unlike `call_tir_inplace`, this operator really only conveys the intent—it is up to the implementation of the packed call to behave as it advertises. @psrivas2 raised the idea of having a different name, which may be worth discussing. We could consider using the word "consume" in it or referring to linear typing if we do not feel "inplace" conveys the intent well enough. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
