|
ABSTRACT
A good random number generator is essential for many graphics applications. As more such applications move onto parallel processing, it is vital that a good parallel random number generator be used. Unfortunately, most random number generators today are still sequential, exposing performance bottlenecks and denying random accessibility for parallel computations. Furthermore, popular parallel random number generators are still based off sequential methods and can exhibit statistical bias. In this paper, we propose a random number generator that maps well onto a parallel processor while possessing white noise distribution. Our generator is based on cryptographic hash functions whose statistical robustness has been examined under heavy scrutiny by cryptologists. We implement our generator as a GPU pixel program, allowing us to compute random numbers in parallel just like ordinary texture fetches: given a texture coordinate per pixel, instead of returning a texel as in ordinary texture fetches, our pixel program computes a random noise value based on this given texture coordinate. We demonstrate that our approach features the best quality, speed, and random accessibility for graphics applications.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
1997. Advanced encryption standard. In FSE '97: Proceedings of the 4th International Workshop on Fast Software Encryption, Springer-Verlag, London, UK, 83--87.
|
| |
2
|
|
| |
3
|
|
| |
4
|
Brands, S., and Gill, R. 1996. Cryptography, statistics and pseudo-randomness, part ii. Probability and Mathematical Statistics 16, 1--17.
|
 |
5
|
|
| |
6
|
|
| |
7
|
|
| |
8
|
David S. Ebert , F. Kenton Musgrave , Darwyn Peachey , Ken Perlin , Steven Worley, Texturing and modeling: a procedural approach, Academic Press Professional, Inc., San Diego, CA, 1994
|
 |
9
|
K. Entacher , A. Uhl , S. Wegenkittl, Linear and inversive pseudorandom numbers for parallel and distributed simulation, Proceedings of the twelfth workshop on Parallel and distributed simulation, p.90-97, May 26-29, 1998, Banff, Alberta, Canada
|
| |
10
|
Howes, L., and Thomas, D. 2007. Efficient random number generation and application using CUDA. In GPU Gems 3, H. Nguyen, Ed. Addison Wesley, July, ch. 37, 805--830.
|
| |
11
|
|
 |
12
|
|
| |
13
|
Lagae, A., and Dutré, P. 2006. A comparison of methods for generating Poisson disk distributions. Report CW 459, Department of Computer Science, K. U. Leuven, Leuven, Belgium, August.
|
| |
14
|
|
 |
15
|
|
 |
16
|
|
 |
17
|
|
| |
18
|
Marsaglia, G., 1995. The marsaglia random number cdrom including the diehard battery of tests of randomness. http://www.stat.fsu.edu/pub/diehard/.
|
 |
19
|
|
 |
20
|
|
| |
21
|
(NSA), N. S. A., 2001. Us secure hash algorithm 1 (sha1). http://tools.ietf.org/html/rfc3174.
|
| |
22
|
NVIDIA, 2007. Ext_gpu_shader4 opengl extension. http://developer.download.nvidia.com/opengl/specs/GL_EXT_gpu_shader4.txt.
|
| |
23
|
NVIDIA, 2007. Nvidia cuda compute unified device architecture. http://developer.download.nvidia.com/compute/cuda/1_0/NVIDIA_CUDA_Programming_Guide_1.0.pdf.
|
 |
24
|
|
| |
25
|
Pang, W.-M., Wong, T.-T., and Heng, P.-A. 2006. Implementing high-quality prng on gpus. In Shader X5: Advanced Rendering Techniques, Charles River Media, Inc., Rockland, MA, USA, 579--590.
|
| |
26
|
Patel, M., 2006. The goulburn hashing function. http://www.geocities.com/drone115b/Goulburn06.pdf.
|
| |
27
|
Peachey, D. 1990. Texture on demand. Tech. Rep. technical memo 217, Pixar.
|
 |
28
|
|
 |
29
|
|
| |
30
|
Podlozhnyuk, V., 2007. Parallel mersenne twister. http://developer.download.nvidia.com/compute/cuda/sdk/website/projects/MersenneTwister/doc/MersenneTwister.pdf.
|
| |
31
|
|
| |
32
|
|
 |
33
|
|
| |
34
|
The IEEE, and The Open Group. 2004. The Open Group Base Specifications Issue 6.
|
| |
35
|
Wang, X., and Yu, H. 2005. How to break md5 and other hash functions. In EUROCRYPT, 19--35.
|
| |
36
|
|
| |
37
|
Wei, L.-Y., and Levoy, M. 2002. Order-independent texture synthesis. Tech. Rep. TR-2002-01, Computer Science Department, Stanford University.
|
| |
38
|
Wei, L.-Y., 2004. A system and method of generating white noise for use in graphics and image processing. U.S. Patent Pending No. 10/956, 954, filed September 30, 2004 with NVIDIA Corp.
|
 |
39
|
|
| |
40
|
Yamanouchi, T. 2007. Aes encryption and decryption on the gpu. In GPU Gems 3, H. Nguyen, Ed. Addison Wesley, July, ch. 36, 785--803.
|
|