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.
- Advanced Micro Devices 2006. AMD Core Math Library (ACML ). Advanced Micro Devices.Google Scholar
- Altera Corporation 2005. Stratix II Device Handbook, Volume 1. Altera Corporation.Google Scholar
- Anderson, T. W. and Darling, D. A. 1954. A test of goodness of fit. J. Amer. Statist. Asso. 49, 268, 765--769.Google ScholarCross Ref
- Barr, D. R. and Slezak, N. L. 1972. A comparison of multivariate normal generators. Comm. ACM 15, 12, 1048--1049. Google ScholarDigital Library
- Birnbaum, A. 1954. Combining independent tests of significance. J. Amer. Statist. Asso. 49, 267, 559--574.Google Scholar
- Black, F. and Scholes, M. S. 1973. The pricing of options and corporate liabilities. J. Polit. Econo. 81, 637--659.Google ScholarCross Ref
- 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 ScholarDigital Library
- George, M. and Alfke, P. 2001. Linear feedback shift registers in Virtex devices. Tech. rep., Xilinx, Inc.Google Scholar
- 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 ScholarDigital Library
- L'Ecuyer, P. and Simard, R. 2007. TestU01 random number test suite. www.iro.umontreal.ca/ simardr/indexe.html.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Marsaglia, G. 1999. Random numbers for C: The END? Posted to sci.crypt.random-numbers on 20th January 1999.Google Scholar
- Marsaglia, G. 2004. Evaluating the normal distribution. J. Statist. Softw. 11, 4, 1--11.Google ScholarCross Ref
- Marsaglia, G. and Marsaglia, J. 2004. Evaluating the Anderson-Darling distribution. J. Statist. Softw. 9, 2, 1--5.Google ScholarCross Ref
- 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 ScholarCross Ref
- Press, W. H., Teukolsky, S. A., Vetterling, W. T., and Flannery, B. P. 1997. Numerical Recipes in C, 2nd Ed. Cambridge University Press.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Xilinx, Inc. 2000. Virtex-II platform FPGAs: Complete data sheet. Xilinx, Inc.Google Scholar
- Xilinx, Inc. 2002. Additive white Gaussian noise (AWGN) core. Tech. rep., Xilinx, Inc.Google Scholar
- Xilinx, Inc. 2005. XtremeDSP for Virtex-4 FPGAs User Guide. Xilinx, Inc.Google Scholar
- Xilinx, Inc. 2006. Virtex-4---Why are the FIFO16 flags not working correctly? Tech. rep. AR22462.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
Index Terms
- Multivariate Gaussian Random Number Generation Targeting Reconfigurable Hardware
Recommendations
Multivariate Gaussian Random Number Generator Targeting Specific Resource Utilization in an FPGA
ARC '08: Proceedings of the 4th international workshop on Reconfigurable Computing: Architectures, Tools and ApplicationsFinancial applications are one of many fields where a multivariate Gaussian random number generator plays a key role in performing computationally extensive simulations. Recent technological advances and today's requirements have led to the migration ...
An Optimized Hardware Architecture of a Multivariate Gaussian Random Number Generator
Monte Carlo simulation is one of the most widely used techniques for computationally intensive simulations in mathematical analysis and modeling. A multivariate Gaussian random number generator is one of the main building blocks of such a system. Field ...
An embedded true random number generator for FPGAs
FPGA '04: Proceedings of the 2004 ACM/SIGDA 12th international symposium on Field programmable gate arraysField Programmable Gate Arrays (FPGAs) are an increasingly popular choice of platform for the implementation of cryptographic systems. Until recently, designers using FPGAs had less than optimal choices for a source of truly random bits. In this paper ...
Comments