@sophieschmieg there's also the noise introduced by the GPU scheduler doing the matrix multiplies in a different order which produces different results because float is not associative.
Surely they meant that... Right?...
But also probably that isn't true random either.
@ask that noise would be considered true random noise, but I don't know how many bits it has. While float isn't associative, it's like "mostly" associative, so depending on the condition of the matrix, it should be fairly low.
In any case, if you wanted to use that noise for cryptographic purposes, you'd first have to debias it by running it through a DRBG, and at that point you could just harvest it directly from the GPU for higher quality and performance.
Or query your stupid hardware RNG that literally every modern CPU has built-in.
@ask that noise would be considered true random noise, but I don't know how many bits it has. While float isn't associative, it's like "mostly" associative, so depending on the condition of the matrix, it should be fairly low.
In any case, if you wanted to use that noise for cryptographic purposes, you'd first have to debias it by running it through a DRBG, and at that point you could just harvest it directly from the GPU for higher quality and performance.