skip to main content
research-article

Multivariate Gaussian Random Number Generation Targeting Reconfigurable Hardware

Published:01 June 2008Publication History
Skip Abstract Section

Abstract

The multivariate Gaussian distribution is often used to model correlations between stochastic time-series, and can be used to explore the effect of these correlations across N time-series in Monte-Carlo simulations. However, generating random correlated vectors is an O(N2) process, and quickly becomes a computational bottleneck in software simulations. This article presents an efficient method for generating vectors in parallel hardware, using N parallel pipelined components to generate a new vector every N cycles. This method maps well to the embedded block RAMs and multipliers in contemporary FPGAs, particularly as extensive testing shows that the limited bit-width arithmetic does not reduce the statistical quality of the generated vectors. An implementation of the architecture in the Virtex-4 architecture achieves a 500MHz clock-rate, and can support vector lengths up to 512 in the largest devices. The combination of a high clock-rate and parallelism provides a significant performance advantage over conventional processors, with an xc4vsx55 device at 500MHz providing a 200 times speedup over an Opteron 2.6GHz using an AMD optimised BLAS package. In a case study in Delta-Gamma Value-at Risk, an RC2000 accelerator card using an xc4vsx55 at 400MHz is 26 times faster than a quad Opteron 2.6GHz SMP.

References

  1. Advanced Micro Devices 2006. AMD Core Math Library (ACML ). Advanced Micro Devices.Google ScholarGoogle Scholar
  2. Altera Corporation 2005. Stratix II Device Handbook, Volume 1. Altera Corporation.Google ScholarGoogle Scholar
  3. Anderson, T. W. and Darling, D. A. 1954. A test of goodness of fit. J. Amer. Statist. Asso. 49, 268, 765--769.Google ScholarGoogle ScholarCross RefCross Ref
  4. Barr, D. R. and Slezak, N. L. 1972. A comparison of multivariate normal generators. Comm. ACM 15, 12, 1048--1049. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Birnbaum, A. 1954. Combining independent tests of significance. J. Amer. Statist. Asso. 49, 267, 559--574.Google ScholarGoogle Scholar
  6. Black, F. and Scholes, M. S. 1973. The pricing of options and corporate liabilities. J. Polit. Econo. 81, 637--659.Google ScholarGoogle ScholarCross RefCross Ref
  7. deLorimier, M. and DeHon, A. 2005. Floating-point sparse matrix-vector multiply for FPGAs. In Proceedings of the ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. ACM Press, 75--85. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. George, M. and Alfke, P. 2001. Linear feedback shift registers in Virtex devices. Tech. rep., Xilinx, Inc.Google ScholarGoogle Scholar
  9. Jang, J.-W., Choi, S. B., and Prasanna, V. K. 2005. Energy- and time-efficient matrix multiplication on FPGAs. IEEE Trans. VLSI Syst. 13, 11, 1305--1319. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. L'Ecuyer, P. and Simard, R. 2007. TestU01 random number test suite. www.iro.umontreal.ca/ simardr/indexe.html.Google ScholarGoogle Scholar
  11. Lee, D., Villasenor, J., Luk, W., and Leong, P. 2006. A hardware Gaussian noise generator using the box-muller method and its error analysis. IEEE Trans. Comput. 55, 6, 659--671. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Lee, D.-U., Luk, W., Villasenor, J. D., and Cheung, P. Y. 2004. A Gaussian noise generator for hardware-based simulations. IEEE Trans. Comput. 53, 12, 1523--1534. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Lee, D.-U., Luk, W., Villasenor, J. D., Zhang, G., and Leong, P. H. 2005. A hardware Gaussian noise generator using the wallace method. IEEE Trans. VLSI Syst. 13, 8, 911--920. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Marsaglia, G. 1999. Random numbers for C: The END? Posted to sci.crypt.random-numbers on 20th January 1999.Google ScholarGoogle Scholar
  15. Marsaglia, G. 2004. Evaluating the normal distribution. J. Statist. Softw. 11, 4, 1--11.Google ScholarGoogle ScholarCross RefCross Ref
  16. Marsaglia, G. and Marsaglia, J. 2004. Evaluating the Anderson-Darling distribution. J. Statist. Softw. 9, 2, 1--5.Google ScholarGoogle ScholarCross RefCross Ref
  17. Pearson, K. 1900. On the criterion that a given system of deviations from the probable in the case of a correlated system of variables is such that it can reasonably supposed to have arisen from random sampling. Philosoph. Maga., Series 5 50, 157--175.Google ScholarGoogle ScholarCross RefCross Ref
  18. Press, W. H., Teukolsky, S. A., Vetterling, W. T., and Flannery, B. P. 1997. Numerical Recipes in C, 2nd Ed. Cambridge University Press.Google ScholarGoogle Scholar
  19. Shackleford, B., Tanaka, M., Carter, R. J., and Snider, G. 2002. FPGA implementation of neighborhood-of-four cellular automata random number generators. In Proceedings of the ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. ACM Press, New York, USA, 106--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Thomas, D. B. and Luk, W. 2005. High quality uniform random number generation through LUT optimised linear recurrences. In Proceedings of the International Conference on Field-Programmable Technology. IEEE Computer Society.Google ScholarGoogle Scholar
  21. Thomas, D. B. and Luk, W. 2006a. Efficient hardware generation of random variates with arbitrary distributions. In Proceedings of the IEEE Symposium on FPGA s for Custom Computing Machines. 57--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Thomas, D. B. and Luk, W. 2006b. Non-uniform random number generation through piecewise linear approximations. In Proceedings of the International Conference on Field Programmable Logic and Applications. 1--6.Google ScholarGoogle Scholar
  23. Thomas, D. B. and Luk, W. 2007. Sampling from the multivariate Gaussian distribution using reconfigurable hardware. In Proceedings of the IEEE Symposium on FPGA s for Custom Computing Machines. 3--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Xilinx, Inc. 2000. Virtex-II platform FPGAs: Complete data sheet. Xilinx, Inc.Google ScholarGoogle Scholar
  25. Xilinx, Inc. 2002. Additive white Gaussian noise (AWGN) core. Tech. rep., Xilinx, Inc.Google ScholarGoogle Scholar
  26. Xilinx, Inc. 2005. XtremeDSP for Virtex-4 FPGAs User Guide. Xilinx, Inc.Google ScholarGoogle Scholar
  27. Xilinx, Inc. 2006. Virtex-4---Why are the FIFO16 flags not working correctly? Tech. rep. AR22462.Google ScholarGoogle Scholar
  28. Zhang, G. L., Leong, P. H., Lee, D.-U., Villasenor, J. D., Cheung, R. C., and Luk, W. 2005. Ziggurat-based hardware Gaussian random number generator. In Proceedings of the International Conference on Field Programmable Logic and Applications. IEEE Computer Society Press, 275--280.Google ScholarGoogle Scholar
  29. Zhuo, L. and Prasanna, V. K. 2005. Sparse matrix-vector multiplication on FPGAs. In Proceedings of the ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. ACM Press, 63--74. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Multivariate Gaussian Random Number Generation Targeting Reconfigurable Hardware

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Reconfigurable Technology and Systems
      ACM Transactions on Reconfigurable Technology and Systems  Volume 1, Issue 2
      June 2008
      143 pages
      ISSN:1936-7406
      EISSN:1936-7414
      DOI:10.1145/1371579
      Issue’s Table of Contents

      Copyright © 2008 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 June 2008
      • Accepted: 1 March 2008
      • Revised: 1 February 2008
      • Received: 1 August 2007
      Published in trets Volume 1, Issue 2

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader