ParaMonte: A high-performance serial/parallel Monte Carlo simulation library for C, C++, Fortran

Amir Shahmoradi, Fatemeh Bagheri
2021 Journal of Open Source Software  
ParaMonte (which stands for Parallel Monte Carlo) is a serial and MPI/Coarray-parallelized library of Monte Carlo routines for sampling mathematical objective functions of arbitrarydimensions, in particular, the posterior distributions of Bayesian models in data science, machine learning, and scientific inference. The ParaMonte library has been developed with the design goal of unifying the automation, accessibility, high-performance, scalability, and reproducibility of Monte Carlo simulations.
more » ... Carlo simulations. The current implementation of the library includes ParaDRAM, a Parallel Delayed-Rejection Adaptive Metropolis Markov Chain Monte Carlo sampler, accessible from a wide range of programming languages including C, C++, Fortran, with a unified Application Programming Interface and simulation environment across all supported programming languages. The ParaMonte library is MIT-licensed and is permanently located and maintained at https://github.com/cdslaborg/paramonte.
doi:10.21105/joss.02741 fatcat:fvmemcxqhjhv5b6nikpsbxndm4