A simple unpredictable pseudo random number generator
SIAM Journal on Computing
Goodness-of-fit techniques
Algorithms for solid noise synthesis
SIGGRAPH '89 Proceedings of the 16th annual conference on Computer graphics and interactive techniques
Proceedings of the 24th annual conference on Computer graphics and interactive techniques
Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator
ACM Transactions on Modeling and Computer Simulation (TOMACS) - Special issue on uniform random number generation
SIGGRAPH '85 Proceedings of the 12th annual conference on Computer graphics and interactive techniques
Texturing and Modeling
Proceedings of the 29th annual conference on Computer graphics and interactive techniques
Description of a New Variable-Length Key, 64-bit Block Cipher (Blowfish)
Fast Software Encryption, Cambridge Security Workshop
SIGGRAPH '84 Proceedings of the 11th annual conference on Computer graphics and interactive techniques
OpenGL(R) Shading Language
Modified noise for evaluation on graphics hardware
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware
ACM SIGGRAPH 2005 Papers
Parallel white noise generation on a GPU via cryptographic hash
Proceedings of the 2008 symposium on Interactive 3D graphics and games
ACM SIGGRAPH 2008 papers
Procedural noise using sparse Gabor convolution
ACM SIGGRAPH 2009 papers
Real-time soft shadow mapping by backprojection
EGSR'06 Proceedings of the 17th Eurographics conference on Rendering Techniques
Journal of Computational Physics
Parallel random numbers: as easy as 1, 2, 3
Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis
Fast and small nonlinear pseudorandom number generators for computer simulation
PPAM'11 Proceedings of the 9th international conference on Parallel Processing and Applied Mathematics - Volume Part I
High-performance pseudo-random number generation on graphics processing units
PPAM'11 Proceedings of the 9th international conference on Parallel Processing and Applied Mathematics - Volume Part I
Hi-index | 0.01 |
Random numbers are extensively used on the GPU. As more computation is ported to the GPU, it can no longer be treated as rendering hardware alone. Random number generators (RNG) are expected to cater general purpose and graphics applications alike. Such diversity adds to expected requirements of a RNG. A good GPU RNG should be able to provide repeatability, random access, multiple independent streams, speed, and random numbers free from detectable statistical bias. A specific application may require some if not all of the above characteristics at one time. In particular, we hypothesize that not all algorithms need the highest-quality random numbers, so a good GPU RNG should provide a speed quality tradeoff that can be tuned for fast low quality or slower high quality random numbers. We propose that the Tiny Encryption Algorithm satisfies all of the requirements of a good GPU Pseudo Random Number Generator. We compare our technique against previous approaches, and present an evaluation using standard randomness test suites as well as Perlin noise and a Monte-Carlo shadow algorithm. We show that the quality of random number generation directly affects the quality of the noise produced, however, good quality noise can still be produced with a lower quality random number generator.