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]

Reply via email to