-
Notifications
You must be signed in to change notification settings - Fork 116
Parallelism tutorial #3886
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
Parallelism tutorial #3886
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice tutorial. I enjoyed reading it.
I wondered in one of my inline comments about whether we want all the general portability/contention stuff in this tutorial. But after reflecting about this with @ccasin, I think it's good. We'll have general documentation for this stuff. But pointing readers to it in the middle of the tutorial is annoying, and the general documentation will inevitably have more detail than is needed at this point. So the stuff here might be duplicative, but I think on balance it's good duplication.
Happy to chat about anything here if you'd like.
Also use the word “domain,” not “thread”
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really happy with where this is going!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally really nice, I feel I've got a much better understanding of this now. I think mainly my comments are to ensure that anyone trying to follow along with a code editor doesn't get tripped up. In fact, if you want to encourage someone doing that, then a bit of detail at the start of how to set it up would be useful.
Basic introduction to data-race-free parallelism, focusing on fork/join parallelism and data parallelism provided by the
parallel
library as a way to introduce theportable
andcontended
modes.Currently pretty drafty:
portable
andcontended
was supposed to be sort of an intermission but it's the biggest partThing.t
is just something with an immutableprice
and a mutablemood
. (If nothing else, if my time at a trading firm has taught me anything, it's that prices are in fact mutable.)