CoWR

The CoWR litmus test checks SC-per-location by ensuring that if a read observes a write from another thread, any prior writes to the same address are not re-ordered beyond the read. Variants using rmw instructions are included.

Initial State *x = 0 Final State: r0 == 2 && *x == 1
Workgroup 0 Thread 0
0.1: atomicStore(x, 1)
0.2: let r0 = atomicLoad(x)
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 == 1

Run time : 0 seconds

Rate : NaN iterations per second

Time Remaining : NaN seconds