Message Passing

The message passing litmus test checks to see if two stores in one thread can be re-ordered according to loads on a second thread. This test also includes variants using WebGPU's acquire/release workgroup control barrier to synchronize across testing threads and disallow the weak behavior.

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

Weak Outcome Count: 0

Total Observed Outcomes: 0

Weak Outcome Percentage: 0.00%

Weak Outcome: r0 == 1 && r1 == 0

Run time : 0 seconds

Rate : NaN iterations per second

Time Remaining : NaN seconds