CoRW2

The CoRW2 litmus test checks SC-per-location by ensuring that if a write from one thread is visible to a read on another thread, any subsequent writes are not re-ordered. Variants using rmw instructions are included.

Initial State *x = 0 Final State: r0 == 2 && *x == 2
Workgroup 0 Thread 0
0.1: let r0 = atomicLoad(x)
0.2: atomicStore(x, 1)
Workgroup 1 Thread 0
1.1: atomicStore(x, 2)
Explorer Mode
Tuning Mode

Weak Outcome Count: 0

Total Observed Outcomes: 0

Weak Outcome Percentage: 0.00%

Weak Outcome: r0 == 2 && *x == 2

Run time : 0 seconds

Rate : NaN iterations per second

Time Remaining : NaN seconds