ParaMonte: A high-performance serial/parallel Monte Carlo simulation library for C, C++, Fortran (2009.14229v1)
Abstract: ParaMonte (standing for Parallel Monte Carlo) is a serial and MPI/Coarray-parallelized library of Monte Carlo routines for sampling mathematical objective functions of arbitrary-dimensions, 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. The current implementation of the library includes ParaDRAM, a Parallel Delyaed-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.