ACM Home Page
Please provide us with feedback. Feedback
Parallel white noise generation on a GPU via cryptographic hash
Full text PdfPdf (4.06 MB)
Source
Symposium on Interactive 3D Graphics archive
Proceedings of the 2008 symposium on Interactive 3D graphics and games table of contents
Redwood City, California
SESSION: GPGPU table of contents
Pages 79-87  
Year of Publication: 2008
ISBN:978-1-59593-983-8
Authors
Stanley Tzeng  Microsoft Research Asia
Li-Yi Wei  Microsoft Research Asia
Sponsor
SIGGRAPH: ACM Special Interest Group on Computer Graphics and Interactive Techniques
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 20,   Downloads (12 Months): 173,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1342250.1342263
What is a DOI?

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
9
 
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.


Collaborative Colleagues:
Stanley Tzeng: colleagues
Li-Yi Wei: colleagues