I’ve updated PhiloxRNG to use explicit fma instead of muladd or regular adds and multiplies. It turns out that in addition to fusing muladd, CUDA.jl will sometimes fuse regular adds and multiplies, and that was a big part of why the random numbers were occasionally different on different platforms.