Skip to content
This repository was archived by the owner on Oct 31, 2025. It is now read-only.

Add barrier proposal#216

Closed
Tobski wants to merge 6 commits intoEmbarkStudios:mainfrom
Tobski:patch-1
Closed

Add barrier proposal#216
Tobski wants to merge 6 commits intoEmbarkStudios:mainfrom
Tobski:patch-1

Conversation

@Tobski
Copy link
Copy Markdown

@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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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 subscribe to this conversation on GitHub. Already have an account? Sign in.

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