Parallel Tempering MCMC Acceleration Using Reconfigurable Hardware
Markov Chain Monte Carlo (MCMC) is a family of algorithms which is used to draw samples from arbitrary probability distributions in order to estimate - otherwise intractable - integrals. When the distribution is complex, simple MCMC becomes inefficient and advanced variations are employed. This paper proposes a novel FPGA architecture to accelerate Parallel Tempering, a computationally expensive, popular MCMC method, which is designed to sample from multimodal distributions. The proposed architecture can be used to sample from any distribution. Moreover, the work demonstrates that MCMC is robust to reductions in the arithmetic precision used to evaluate the sampling distribution and this robustness is exploited to improve the FPGA’s performance. A 1072x speedup compared to software and a 3.84x speedup compared to a GPGPU implementation are achieved when performing Bayesian inference for a mixture model without any compromise on the quality of results, opening the way for the handling of previously intractable problems.
KeywordsMixture Model Markov Chain Monte Carlo Markov Chain Monte Carlo Method Target Distribution Probability Evaluation
Unable to display preview. Download preview PDF.
- 2.Asadi, N.B., Meng, T.H., Wong, W.H.: Reconfigurable computing for learning Bayesian networks. In: Proceedings of the 16th International ACM/SIGDA Symposium on Field Programmable Gate Arrays, FPGA 2008, pp. 203–211 (2008)Google Scholar
- 3.Byrd, J., Jarvis, S., Bhalerao, A.: Reducing the run-time of MCMC programs by multithreading on SMP architectures. In: IEEE International Symposium on Parallel and Distributed Processing, IPDPS 2008, pp. 1–8 (April 2008)Google Scholar
- 8.Geyer, C.J.: Markov Chain Monte Carlo Maximum Likelihood. In: Proceedings of the 23rd Symposium on the Interface, Computing Science and Statistics, pp. 156–163 (1991)Google Scholar
- 9.Jasra, A., Stephens, D.A., Holmes, C.C.: On population-based simulation for static inference. Statistics and Computing, 263–279 (2007)Google Scholar
- 14.Mansinghka, V.K., Jonas, E.M., Tenenbaum, J.B.: Stochastic Digital Circuits for Probabilistic Inference. Technical Report MIT-CSAIL-TR-2008-069, Massachussets Institute of Technology (2008)Google Scholar
- 15.Saiprasert, C., Bouganis, C.-S., Constantinides, G.A.: Design of a Financial Application Driven Multivariate Gaussian Random Number Generator for an FPGA. In: Sirisuk, P., Morgan, F., El-Ghazawi, T., Amano, H. (eds.) ARC 2010. LNCS, vol. 5992, pp. 182–193. Springer, Heidelberg (2010)CrossRefGoogle Scholar
- 16.Thomas, D.B., Luk, W., Leong, P.H., Villasenor, J.D.: Gaussian random number generators. ACM Comput. Surv. 39 (November 2007)Google Scholar
- 17.Tian, X., Bouganis, C.S.: A Run-Time Adaptive FPGA Architecture for Monte Carlo Simulations. In: 2011 International Conference on Field Programmable Logic and Applications (FPL), pp. 116–122 (September 2011)Google Scholar