# high performance computing on graphics processing units: hgpu.org

## Computational Experiments in Markov Chain Monte Carlo

Alexander D. Kaiser
Department of Mathematics, Courant Institute of Mathematical Sciences, New York University
New York University, 2013

@phdthesis{kaiser2013computational,

title={Computational Experiments in Markov Chain Monte Carlo},

author={Kaiser, Alexander D},

year={2013},

school={New York University}

}

1689

views

In this thesis, I investigate computational questions in Markov chain Monte Carlo (MCMC). I am investigating one new MCMC method called the stretch move ensemble sampler [3]. I have looked at the performance of this algorithm, in terms of acceptance rates, autocorrelation time and compute performance. The thesis describes a parallel implementation of the algorithm for graphics processing units (GPUs). I investigate applications of the sampling, including Bayesian inference problems. I use an MCMC method called the stretch move ensemble sampler [3]. The algorithm is affine invariant, so performs well on skewed distributions with little tuning. It generally has low autocorrelation time. It is computationally efficient and parallelizes completely with relatively minor communication. One major component of the project is a parallel implementation of the stretch move for GPU hardware. It is written in an extension to C called OpenCL. This code shows that a highly parallel implementation of this algorithm is effective. I investigate performance optimizations and memory management strategies. I discuss how the compute performance scales with additional parallelism and show speedup on real applications. I have taken care to make the code easy to use, with a simple, clear code interface. The user only needs to specify a probability density function (PDF). He/she does this by providing a C program that evaluates the PDF. The user does not need to write any OpenCL or understand GPU programming. Many applications users do not know about parallel computing | they just want their sampler to run fast. This code allows them to take advantage of modern computing hardware with minimal time invested in learning computing technology only tangentially related to their science objective.

* * *
* * *