Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Precision of dependency analysis for barrier insertion #225

Open
Bastacyclop opened this issue Feb 17, 2022 · 0 comments
Open

Precision of dependency analysis for barrier insertion #225

Bastacyclop opened this issue Feb 17, 2022 · 0 comments
Labels
enhancement New feature or request generated code Changes to the code that our compiler generates

Comments

@Bastacyclop
Copy link
Member

Issue related to #18 and remaining after #80.

Shine uses a very coarse dependency analysis: memory accesses are tracked for entire allocations. By contrast, Lift tries to reason about data sharing based on the functional patterns used in the program.
Lift generates less barriers in multiple tests for this reason. However, a more precise dependency analysis could easily be integrated into Shine's algorithm. I observed that finer-grained tracking of accessed intervals would even enable Shine to generate less
barriers than Lift in a couple of tests. This would be achieved by adjusting the analysis data to include the intervals accessed by each thread as a symbolic natural number for each thread.

@Bastacyclop Bastacyclop added enhancement New feature or request generated code Changes to the code that our compiler generates labels Feb 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request generated code Changes to the code that our compiler generates
Projects
None yet
Development

No branches or pull requests

1 participant