Vector operations for accelerating expensive Bayesian computations -- a tutorial guide
Abstract
Many applications in Bayesian statistics are extremely computationally intensive. However, they are often inherently parallel, making them prime targets for modern massively parallel processors. Multi-core and distributed computing is widely applied in the Bayesian community, however, very little attention has been given to fine-grain parallelisation using single instruction multiple data (SIMD) operations that are available on most modern commodity CPUs and is the basis of GPGPU computing. In this work, we practically demonstrate, using standard programming libraries, the utility of the SIMD approach for several topical Bayesian applications. We show that SIMD can improve the floating point arithmetic performance resulting in up to $6\times$ improvement in serial algorithm performance. Importantly, these improvements are multiplicative to any gains achieved through multi-core processing. We illustrate the potential of SIMD for accelerating Bayesian computations and provide the reader with techniques for exploiting modern massively parallel processing environments using standard tools.
- Publication:
-
arXiv e-prints
- Pub Date:
- February 2019
- DOI:
- 10.48550/arXiv.1902.09046
- arXiv:
- arXiv:1902.09046
- Bibcode:
- 2019arXiv190209046W
- Keywords:
-
- Statistics - Computation;
- Computer Science - Distributed;
- Parallel;
- and Cluster Computing;
- Computer Science - Mathematical Software;
- Computer Science - Performance;
- Statistics - Machine Learning;
- 62F15;
- 62C10;
- 68W10;
- 65Y05
- E-Print:
- doi:10.1214/21-BA1265