-
Notifications
You must be signed in to change notification settings - Fork 187
Conversation
@daniellustig please review. |
e90171c
to
485a923
Compare
@gonzalobg Is this good to get in? |
Waiting for review. |
An atomic operation is atomic at the scope it specifies if: | ||
- it specifies a scope other than `thread_scope_system`, **or** | ||
|
||
the scope is `thread_scope_system` and: |
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.
Why separate this part out? Isn't this whole thing logically equivalent to just listing all 5 bullets in a single list?
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.
Yes, you are right. The numbered list below says that this "boolean" expression is true: 1 || (2 && (3 || 4 || 5 || 6)).
I got feedback that this was hard to follow when it is all together, so I decided to split it when the parenthesis open.
In rendered markdown it looked ok to me, but if this can be improved I'd like to improve it.
An atomic operation is atomic at the scope it specifies if:
- it specifies a scope other than
thread_scope_system
, or - the scope is
thread_scope_system
and - it affects an object in [unified memory] and [
concurrentManagedAccess
] is1
, or - it affects an object in CPU memory and [
hostNativeAtomicSupported
] is1
, or - it is a load or store that affects a naturally-aligned object of sizes
1
,2
,4
, or8
bytes on [mapped memory], or - it affects an object in GPU memory and only GPU threads access it.
Looks good to me, aside from the one minor comment I just posted |
@wmaxey @daniellustig i think we can just merge this. |
👍 |
This PR moves the "memory model" related docs to a separate page, so that they can be easily linked from the Programming Guide.
It also updates the memory model docs.
It provides a new guarantee that we did not provide before, system-scope atomics are also atomic if the operation:
The scripts to build the site have stopped working, so this PR also updates those.
The site layout is constrained to a 800px body width, which makes tables render poorly.
This PR bumps this to 1000px here.
Syntax highlighting within HTML tables seems to be buggy with Jekyll.