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.
翻译:在Bayesian统计中,许多应用在计算上极为密集,然而,它们往往具有内在的平行性,成为现代大规模平行处理器的首要目标。多核心和分布式计算在Bayesian社区广泛应用,然而,很少注意利用大多数现代商品商品总合中可用的单一指示多数据(SIMD)操作和GPGPPPU计算基础进行细比平行处理。在这项工作中,我们实际展示了SIMD方法在标准编程图书馆中对若干主题巴伊西亚应用的实用性。我们显示SIMD可以改进浮动点算术性能,从而在序列算法性能方面实现高达6美元改进。重要的是,这些改进是多核心处理所取得的任何成果的倍倍增。我们说明了SIMD在加速Bayesian计算和为读者提供利用标准工具的现代大规模平行处理环境的技术方面的潜力。