masahi commented on PR #80: URL: https://github.com/apache/tvm-rfcs/pull/80#issuecomment-1164044150
@JosephTheOctonaut, I'm going to change the definition of `software_pipeline_async_stages` from the current "index into the statement" to the "stage" itself, since this is confusing. Actually I confused myself in our conversation today: I mistakenly said that the elements in `software_pipeline_async_stages` should be less than the maximum value of `software_pipeline_stage`. For example, if we have three statements in the loop and we want to make the first two statements async, the current annotation is ``` sch.annotate(loop, ann_key="software_pipeline_stage", ann_val=[0, 0, 3]) sch.annotate(loop, ann_key="software_pipeline_async_stages", ann_val=[0, 1]) # 0, 1 are indices to the list of statements ``` this would become the following after this change. ``` sch.annotate(loop, ann_key="software_pipeline_stage", ann_val=[0, 0, 3]) sch.annotate(loop, ann_key="software_pipeline_async_stages", ann_val=[0]) # the stage "0" is async. ``` With this, the label `"software_pipeline_async_stages"` shouldn't be ambiguous. Also, this change makes it clear that different statements in the same stage cannot be mixed sync and async. But the notion of `stage` here is the TIR-specific one, which comes back to your question in https://github.com/apache/tvm-rfcs/pull/80#discussion_r904223269 > I believe I understand the intended usage of "stage" here, but could we use it like Eric is suggesting? I want to keep the terminology between this RFC and the TIR software pipeline implementation consistent, so if we want to change the meaning of "stage" in this proposal, I want to evaluate the feasibility of such change to the implementation first. Generally, I agree that we should use the common terminology. cc @vinx13 @Lunderberg if they have any thoughts on this topic. -- 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]
