This page is aimed as a resource for those interested in using GPUs and other many-core devices for statistical data analysis and statistical computation.
GPUs are attractive for certain types of scientific computation as they offer the potential speed-up of multi-processor devices with the added advantages of being low cost, low maintenance, energy efficient, dedicated local devices that are easy to program.
NVIDIA is a manufacturer of graphics cards which can be used for scientific computing using their CUDA environment.
Below we provide links to papers in statistics and related fields which make use of GPU technology.
Mike Giles' SIAM PP10 Tutorial.
Online course from the University of Illinois.
Dr. Dobb's Tutorial provides a good introductory tutorial with coded examples of scientific computing using CUDA on GPUs.
See this page for more links to examples, tutorials and webpages concerned with the programming environment.
Lee A, Yau C, Giles M, Doucet A, Holmes C. (2010) On the utility of graphics cards to perform massively parallel simulation with advanced Monte Carlo methods. Journal of Computational & Graphical Statistics 19(4). [arXiv] Coded Examples Available.
Suchard MA, Wang Q, Chan C, Frelinger J, Cron A, West M. (2010) Understanding GPU Programming for Statistical Computation: Studies in Massively Parallel Massive Mixtures. Journal of Computational and Graphical Statistics 19(2). Their website.
D Kirk and WM Hwu. (2010) Programming Massively Parallel Processors: A Hands-on Approach. Morgan Kaufman, Burlington.
Suchard MA, Rambaut A. (2009) Many-core algorithms for statistical phylogenetics. Bioinformatics 25(11). Their website.
Preis T, Virnau T, Paul W, Schneider JJ. (2009) GPU accelerated Monte Carlo simulation of the 2D and 3D Ising model. Journal of Computational Physics 228(12).
Zhou H, Lange K, Suchard MA. (2010) Graphics Processing Units and High-Dimensional Optimization. Statistical Science 25(3).
Tibbits MM, Haran M, Liechty JC. (2011) Parallel Multivariate Slice Sampling. Statistics and Computing.
Liepe J, Barnes C, Cule E, Erguler K, Kirk P, Toni T, Stumpf MP. (2010) ABC-SysBio--approximate Bayesian computation in Python with GPU support. Bioinformatics 26(14).
Zhou Y, Liepe J, Sheng X, Stumpf MP, Barnes C. (2011) GPU accelerated biochemical network simulation. Bioinformatics 27(6).
Lee A, Caron F, Doucet A, Holmes C. (2011) Bayesian sparsity-path-analysis of genetic association signal using generalized t priors. arXiv:1106.0322.
Duan JC, Fulop A. (2011) Marginalized Sequential Monte Carlo Samplers. Working Paper.
Population-Based Monte Carlo, Sequential Monte Carlo Sampler and Sequential Monte Carlo methods available here. Taken from Lee et al. (2010)
Statistical Phylogenetics available here. Taken from Suchard & Rambaut (2009)
ABC-SysBio-approximate Bayesian computation in Python with GPU support available here.
Deterministic and stochastic biochemical network simulations available here.
PyCUDA-based library for statistical GPU computing available here.
Research for this page has been supported by the Oxford-Man Institute of Quantitative Finance.
Please email us with suggestions on how to improve the site, or with relevant links and papers to add.
lee@stats.ox.ac.uk or c.holmes@stats.ox.ac.uk