ABCpy: A High-Performance Computing Perspective to Approximate Bayesian Computation
Abstract
ABCpy is a highly modular scientific library for Approximate Bayesian Computation (ABC) written in Python. The main contribution of this paper is to document a software engineering effort that enables domain scientists to easily apply ABC to their research without being ABC experts; using ABCpy they can easily run large parallel simulations without much knowledge about parallelization. Further, ABCpy enables ABC experts to easily develop new inference schemes and evaluate them in a standardized environment and to extend the library with new algorithms. These benefits come mainly from the modularity of ABCpy. We give an overview of the design of ABCpy and provide a performance evaluation concentrating on parallelization. This points us towards the inherent imbalance in some of the ABC algorithms. We develop a dynamic scheduling MPI implementation to mitigate this issue and evaluate the various ABC algorithms according to their adaptability towards high-performance computing.
Keywords
Cite
@article{arxiv.1711.04694,
title = {ABCpy: A High-Performance Computing Perspective to Approximate Bayesian Computation},
author = {Ritabrata Dutta and Marcel Schoengens and Lorenzo Pacchiardi and Avinash Ummadisingu and Nicole Widmer and Pierre Künzli and Jukka-Pekka Onnela and Antonietta Mira},
journal= {arXiv preprint arXiv:1711.04694},
year = {2021}
}