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

Add barrier proposal #216

Closed
wants to merge 6 commits into from
Closed

Add barrier proposal #216

wants to merge 6 commits into from

Conversation

Tobski
Copy link

@Tobski Tobski commented Nov 9, 2020

This proposal is designed to primarily address #8, though it also interacts with a few other issues, notably #19 and PR #29.

Lots of discussion on #8 integrated into this proposal, notably including that it uses explicit load/store functions.

Main questions from my perspective are around whether we want to enable a more stable unsafe API first, and what people think of usability of the proposal.

@XAMPPRocky
Copy link
Member

XAMPPRocky commented Nov 9, 2020

Thank you for your PR! One small thing is that the proposal is under tree/main/docs/src/rfcs instead of docs/src/rfcs.

Rendered

@Tobski
Copy link
Author

Tobski commented Nov 9, 2020

@XAMPPRocky whoops, didn't trim enough of the path when I added it 🤦 - will fix!

This version makes use of closures as suggested, integrates cross-thread data shuffling directly with that concept, and automatically adds control barriers, rather than relying on this to be validated somehow by the compiler.
@XAMPPRocky XAMPPRocky added the s: waiting on review PRs that blocked on a team member's review. label Nov 11, 2020
@khyperia khyperia mentioned this pull request Nov 12, 2020
Jasper-Bekkers added a commit that referenced this pull request Feb 26, 2021
It's pretty easy to see why this is unsafe, if multiple threads write to the same coordinate race-conditions happen.

Ultimately this should be addressed through something like #216 and some higher level abstractions on top of our buffer types, but since we don't have those for now, marking this as unsafe seems to be the only thing we can do for now.
eddyb pushed a commit that referenced this pull request Mar 1, 2021
* Safeness bug in StorageImage2d::write

It's pretty easy to see why this is unsafe, if multiple threads write to the same coordinate race-conditions happen.

Ultimately this should be addressed through something like #216 and some higher level abstractions on top of our buffer types, but since we don't have those for now, marking this as unsafe seems to be the only thing we can do for now.

* Remove unsafe {} block for clippy
@khyperia
Copy link
Contributor

khyperia commented Apr 1, 2021

Closing this due to inactivity, if someone would like to start pushing on this again, feel free to reopen.

@khyperia khyperia closed this Apr 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
s: waiting on review PRs that blocked on a team member's review.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants