Abstract
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 Programmable Gate Arrays (FPGAs) are gaining increased popularity as an alternative means to the traditional general purpose processors targeting the acceleration of the computationally expensive random number generator block. This article presents a novel approach for mapping a multivariate Gaussian random number generator onto an FPGA by optimizing the computational path in terms of hardware resource usage subject to an acceptable error in the approximation of the distribution of interest. The proposed approach is based on the eigenvalue decomposition algorithm which leads to a design with different precision requirements in the computational paths. An analysis on the impact of the error due to truncation/rounding operation along the computational path is performed and an analytical expression of the error inserted into the system is presented. Based on the error analysis, three algorithms that optimize the resource utilization and at the same time minimize the error in the output of the system are presented and compared. Experimental results reveal that the hardware resource usage on an FPGA as well as the error in the approximation of the distribution of interest are significantly reduced by the use of the optimization techniques introduced in the proposed approach.
- Bouganis, C.-S., Park, S.-B., Constantinides, G. A., and Cheung, P. Y. K. 2009. Synthesis and optimization of 2d filter designs for heterogeneous FPGAs. ACM Trans. Reconfig. Technol. Syst. 1, 4, 1--28. Google Scholar
Digital Library
- Box, G. E. P. and Muller, M. E. 1958. A note on the generation of random normal deviates. Annals Math. Stat. 29, 2, 610--611.Google Scholar
Cross Ref
- Chan, N. H. and Wong, H. Y. 2006. Simulation Techniques in Financial Risk Management. Wiley.Google Scholar
- Constantinides, G. A., Cheung, P. Y. K., and Luk, W. 2004. Synthesis and Optimization of DSP Algorithms. Kluwer Academic Publishers, Norwell, MA. Google Scholar
Digital Library
- Glasserman, P. 2004. Monte Carlo Methods in Financial Engineering. Springer.Google Scholar
- Glasserman, P. and Li, J. 2003. Importance sampling for portfolio credit risk. Manage. Sci. 51, 1643--1656.Google Scholar
- Glasserman, P., Heidelberger, P., and Shahabuddin, P. 2000. Variance reduction techniques for value-at-risk with heavy-tailed risk factors. In Proceedings of the 32nd Conference on Winter Simulation. 604--609. Google Scholar
Digital Library
- Kaganov, A., Chow, P., and Lakhany, A. 2008. FPGA acceleration of Monte-Carlo based credit derivative pricing. In Proceedings of the IEEE International Conference on Field Programmable Logic and Applications. 329--334.Google Scholar
- 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, 911--920. Google Scholar
Digital Library
- Lee, D.-U., Villasenor, J. D., Luk, W., and Leong, P. H. W. 2006. A hardware Gaussian noise generator using the Box-Muller method and its error analysis. IEEE Trans. Comput. 55, 6, 659--671. Google Scholar
Digital Library
- Marsaglia, G. and Tsang, W. W. 2000. The ziggurat method for generating random variables. J. Statist. Softw. 5, 8, 1--7.Google Scholar
Cross Ref
- Press, W. H., Teukolsky, S. A., Vetterling, W. T., and Flannery, B. P. 1992. Numerical Recipes in C. Cambridge University Press.Google Scholar
- Saiprasert, C., Bouganis, C.-S., and Constantinides, G. A. 2008. Multivariate Gaussian random number generator targeting specific resource utilization in an FPGA. In Proceedings of the 4th International Workshop on Reconfigurable Computing (ARC’08). Springer-Verlag, 233--244. Google Scholar
Digital Library
- Saiprasert, C., Bouganis, C.-S., and Constantinides, G. A. 2009. Word-length optimization and error analysis of a multivariate Gaussian random number generator. In Proceedings of the 5th International Workshop on Reconfigurable Computing (ARC’09). Springer-Verlag, 231--242. Google Scholar
Digital Library
- Thomas, D. B. and Luk, W. 2008a. Credit risk modelling using hardware accelerated Monte-Carlo simulation. In Proceedings of the IEEE International Symposium on Field-Programmable Custom Computing Machines. 229--238. Google Scholar
Digital Library
- Thomas, D. B. and Luk, W. 2008b. Multivariate Gaussian random number generation targeting reconfigurable hardware. ACM Trans. Reconfig. Technol. Syst. 1, 2, 1--29. Google Scholar
Digital Library
- Thomas, D. B., Bower, J. A., and Luk, W. 2007. Automatic generation and optimization of reconfigurable financial Monte-Carlo simulations. In Proceedings of the IEEE International Conference on Application-Specific Systems Architectures and Processors. 168--173.Google Scholar
- Thomas, D. B., Luk, W., Leong, P. H., and Villasenor, J. D. 2007. Gaussian random number generators. ACM Comput. Surv. 39, 4, 11. Google Scholar
Digital Library
- Thomas, D. B., Howes, L., and Luk, W. 2009. A comparison of CPUs, GPUs, FPGAs, and massively parallel processor arrays for random number generation. In Proceeding of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA’09). ACM, New York, 63--72. Google Scholar
Digital Library
- Wallace, C. S. 1996. Fast pseudorandom generators for normal and exponential variates. ACM Trans. Math. Soft. 22, 1, 119--127. Google Scholar
Digital Library
- Woods, N. A. and VanCourt, T. 2008. FPGA acceleration of quasi-Monte Carlo in finance. In Proceedings of the IEEE International Conference on Field Programmable Logic and Applications. 335--340.Google Scholar
Cross Ref
- Zhang, G., 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 IEEE International Symposium on Field Programmable Logic and Applications. 275--280.Google Scholar
Index Terms
An Optimized Hardware Architecture of a Multivariate Gaussian Random Number Generator
Recommendations
Word-Length Optimization and Error Analysis of a Multivariate Gaussian Random Number Generator
ARC '09: Proceedings of the 5th International Workshop on Reconfigurable Computing: Architectures, Tools and ApplicationsMonte 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 ...
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 ...
Multivariate Gaussian Random Number Generation Targeting Reconfigurable Hardware
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 ...






Comments