Skip to content

Conversation

@junrushao
Copy link
Member

Cherry-picked from #15478.

This PR fixes an issue of the ThreadSync pass.

Prior to this PR, the pass is not aware of shared.dyn scope whose users all share a same shared memory space. This feature is not necessarily already revealed in the IR at the time of applying ThreadSync. This means that when applying ThreadSync, in the IR, each buffer of shared.dyn scope still uses its own data Var, and ThreadSync is thus unable to detect the conflict properly and insert the sync instructions properly.

This PR explicitly makes ThreadSync be aware of the shared.dyn scope, and redirect all the access vars of shared.dyn memory to a common var, so that ThreadSync analysis can find out the conflict and insert the sync instructions.

Cherry-picked from apache#15478.

This PR fixes an issue of the ThreadSync pass.

Prior to this PR, the pass is not aware of `shared.dyn` scope whose
users all share a same shared memory space. This feature is not
necessarily already revealed in the IR at the time of applying
ThreadSync. This means that when applying ThreadSync, in the IR,
each buffer of `shared.dyn` scope still uses its own data Var,
and ThreadSync is thus unable to detect the conflict properly and
insert the sync instructions properly.

This PR explicitly makes ThreadSync be aware of the `shared.dyn` scope,
and redirect all the access vars of `shared.dyn` memory to a common var,
so that ThreadSync analysis can find out the conflict and insert the
sync instructions.
@tvm-bot
Copy link
Collaborator

tvm-bot commented Aug 4, 2023

Thanks for contributing to TVM! Please refer to the contributing guidelines https://tvm.apache.org/docs/contribute/ for useful information and tips. Please request code reviews from Reviewers by @-ing them in a comment.

Generated by tvm-bot

@junrushao junrushao marked this pull request as ready for review August 4, 2023 04:03
@junrushao junrushao merged commit 5e14142 into apache:unity Aug 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants