Advanced SearchSearch Tips
Parallelization of CUSUM Test in a CUDA Environment
facebook(new window)  Pirnt(new window) E-mail(new window) Excel Download
 Title & Authors
Parallelization of CUSUM Test in a CUDA Environment
Son, Changhwan; Park, Wooyeol; Kim, HyeongGyun; Han, KyungSook; Pyo, Changwoo;
We have parallelized the cumulative sum (CUSUM) test of NIST's statistical random number test suite in a CUDA environment. Storing random walks in an array instead of in scalar variables eliminates data dependence. The change in data structure makes it possible to apply parallel scans, scatters, and reductions at each stage of the test. In addition, serial data exchanges between CPU and GPU are removed by migrating CPU's tasks to GPU. Finally we have optimized global memory accesses. The overall speedup is 23 times over the sequential version. Our results contribute to improving security of random numbers for cryptographic keys as well as reducing the time for evaluation of randomness.
CUSUM test;parallel implementation;random walk;randomness test;
 Cited by
A. Rukhin, et al. (2010, April), "A statistical test suite for random and pseudorandom number generators for cryptographic applications," NIST Special Publication 800-22 (with revision 1a) [Online]. Available:

P. L'Ecuyer, et al., "TestU01: A C library for empirical testing of random number generators," ACM Transactions on Mathematical Software (TOMS), Vol. 33, No. 4, pp. 22:1-40, Aug. 2007.

G. Marsaglia (1996), "DIEHARD: a battery of tests of randomness," [Online]. Available:

NVIDIA Corporation (2013, July), CUDA C PROGRAMMING GUIDE [Online]. Available:

F. Spitzer, Principles of Random Walk, 2nd Ed., Springer, Mar. 1, 2001.

P. Revesz, Random walk in random and non-random environments, 3rd Ed., World Scientific Pub Co., May 6, 2013.

Li, Zhiyuan, "Array privatization for parallel execution of loops," ACM International Conference on Supercomputing 25th Anniversary Volume, pp. 21-23, 2014.

A. Suciu, et al., "Byte-oriented Efficient Implementation of the NIST Statistical Test Suite," Proc. of 2010 IEEE International Conference on Automation, Quality and Testing, Robotics, Cluj-Napoca, Romania, May 2010.

A. Suciu, et al., "Statistical Testing of Random Number Sequences using Graphics Processing Units," IEEE Proc. of the Fourth Balkan Conference in Informatics, pp. 39-43, Sep. 2009.

A. Suciu, et al., "Statistical Testing of Random Number Sequences using CUDA," IEEE Proc. of the IEEE International Conference on Intelligent Computer Communication and Processing, pp. 369-374, Aug. 2010.

W. Park, et al., "Parallelization of NIST Statistical Randomness Test Suite in CUDA Environment," Proc. of the KIISE 2013 Fall Conference, Vol. 40, pp. 75-77, 2013. (in Korean)

S. Sung, et al., "Parallelization of the NIST's Statistical Test Suite for Random Number Generators," Proc. of the KIISE 2012 Fall Conference, Vol. 39, No. 2(A), pp. 7-9, Nov. 2012. (in Korean)

C. Son, et al., "Parallel Implementation of Random Excursions Test in CUDA Environment," Journal of KIISE : Computer Systems and Theory, Vol. 41, No. 2, pp. 57-66, 2014. (in Korean)

C. Son., (2015), "Parallel Implementation of Random Excursions Test and Random Excursions Variant Test in CUDA Environment," Hongik University, Korea. (in Korean)

A. Suciu, et al., "Parallel implementation of the NIST Statistical Test Suite," Intelligent Computer Communication and Processing (ICCP), 2010 IEEE International Conference on. IEEE, pp. 363-368, 2010.

D. B. Kirk and W. W. Hwu, Programming Massively Parallel Processors: A Hands-on Approach, 2nd Ed., Morgan Kaufmann, Dec. 28, 2012.

M. McCool, et al., Structured Parallel Programming: Patterns for Efficient Computation, Morgan Kaufmann, Jul. 9, 2012.