> The MP-relacq (Message Passing relacq) litmus test, shown in
Fig. 1b, writes to location x ( a ) and sets a flag ( c ) in thread 0, then
reads the flag ( d ) and reads the data ( f ) in thread 1. The fence
instructions synchronize across the threads. A violation occurs if
thread 1 observes the updated flag without observing the updated
data. While existing stress testing environments did not reveal
any violations, our novel parallel approach was able to observe
violations in the WebGPU platform on AMD GPUs. This resulted
in a fix to an AMD Vulkan compiler and a specification change to
the WebGPU MCS
> The MP-relacq (Message Passing relacq) litmus test, shown in Fig. 1b, writes to location x ( a ) and sets a flag ( c ) in thread 0, then reads the flag ( d ) and reads the data ( f ) in thread 1. The fence instructions synchronize across the threads. A violation occurs if thread 1 observes the updated flag without observing the updated data. While existing stress testing environments did not reveal any violations, our novel parallel approach was able to observe violations in the WebGPU platform on AMD GPUs. This resulted in a fix to an AMD Vulkan compiler and a specification change to the WebGPU MCS