[HN Gopher] Hash Functions for GPU Rendering
___________________________________________________________________
Hash Functions for GPU Rendering
Author : ingve
Score : 33 points
Date : 2021-05-22 06:59 UTC (1 days ago)
(HTM) web link (www.reedbeta.com)
(TXT) w3m dump (www.reedbeta.com)
| nsajko wrote:
| The empirical pseudorandomness testing situation seems kind of
| sad. The suite used in the paper discussed here is unmantained
| for many years, while its "competitor" PracRand/PractRand is not
| maintained for the last couple of years. It seems like the author
| of PractRand is the only one who tried to keep their
| pseudorandomness testing suite relevant, but just the compiler
| warnings that one gets while trying to compile it are quite
| scary, so it seems that there's really no project in this space
| that's in a remotely healthy condition :(
|
| Here's a link to a Git mirror of PractRand, in case somebody
| wants to contribute or fork it: https://github.com/tylov-
| fork/PractRand
|
| More broadly, it feels like the situation with non-cryptographic
| pseudorandom generators and/or hashes isn't in a good place. I
| have a hunch that making progress on that front requires effort
| from expert scientists, but presumably the work isn't considered
| grant-worthy, so there's not a lot of it?
|
| On another note, a quite possibly stupid question; but why were
| the Xoshiro PRNG variants not considered in the paper?
| bullen wrote:
| I'm looking for code that will execute the same on all CPU/GPUs,
| I found this one so far: float
| rand_from_seed(inout uint seed) { int k; int s =
| int(seed); if (s == 0) s = 305420679; k =
| s / 127773; s = 16807 \* (s - k \* 127773) - 2836 \* k;
| if (s < 0) s += 2147483647; seed = uint(s);
| return float(seed % uint(65536)) / 65535.0; }
|
| Any one know if the methods in this article will work too?
| Jasper_ wrote:
| Why wouldn't they? CPUs and GPUs should obey IEEE-754 floating
| point rules, assuming you turn -ffast-math off...
| bullen wrote:
| Ok, we'll see. Thx!
___________________________________________________________________
(page generated 2021-05-23 23:02 UTC)