Tested on main. Seems to be a Metal-specific issue as the test passes with JLArrays. ``` using Metal, GPUArrays, Random, Test begin AT = MtlArray a = AT(zeros(Float32, 1000,1000)) b = AT(zeros(Float32, 1000,1000)) rng = GPUArrays.default_rng(AT) Random.seed!(rng, 1234) s1 = copy(rng.state) rand!(rng, a) s2 = copy(rng.state) Random.seed!(rng, 1234) s3 = copy(rng.state) rand!(rng, b) s4 = copy(rng.state) @show s1 != s2 @show s3 != s4 @show s1 == s3 @show s2 == s4 @show collect(a) == collect(b) end