A High throughput FPGA implementation of markov chain monte carlo method for mixture models

Bozgan, Caner
Markov Chain Monte Carlo (MCMC) is a class of algorithms which can generate samples from high dimensional and multimodal probability distributions. In many statistical and control applications, MCMC algorithms are employed widely thanks to their ability to draw sample from arbitrary distribution regardless of dimension or complexity. However, as the complexity of the Bayesian models and the computational load of the MCMC algorithm increase, performing MCMC inference becomes impractical or too time consuming for the real applications with large scale data sets. Motivated by this problem, this thesis proposes a low latency, scalable and high throughput hardware architecture for Parallel Tempering method, which is a MCMC algorithm to sample from multimodal distributions. The work demonstrates that the implementation of the Parallel Tempering method on Field Programmable Gate Array (FPGA) provides significant speedups compared to respective CPU and GPU implementations when performing Bayesian inference for a mixture model. The proposed work also adapts the architecture to the big data MCMC problems by eliminating the external memory related performance losses that arise in the MCMC hardware implementations.