FortranCon2020 [SP]: ParaMonte: Plain Powerful Parallel Monte Carlo Library
Channel: FortranCon
Date: 2020-09-03

We present the ParaMonte library, a pure-modern-Fortran open-source software for serial and parallel stochastic sampling and integration of high-dimensional mathematical objective functions of arbitrary shapes and dimensions. The principal design goals of the ParaMonte library are: 1. full automation of the entire build process of the library as well as all Monte Carlo simulations, 2. interoperability of the core library with multiple programming languages, including C/C++/MATLAB/Python/..., via the C-interoperability features of the Fortran language, 3. high-performance 4. parallelizability and scalability of the simulations, 5. virtually zero-dependence on external libraries, 6. fully-deterministic reproducibility and continuation of all stochastic simulations, 7. automatic comprehensive-reporting and post-processing of the simulation results. The library is Fortran-2018 standard compliant and the parallelization of the code relies on the MPI and Coarray parallelism paradigms within the Fortran programming language. We discuss how these design goals can help the ParaMonte users readily and efficiently solve a variety of machine learning and scientific inference problems on a wide range of platforms, from Jupyter notebooks on personal laptops to supercomputers. We also discuss how the modern features of the Fortran language simplified software development and what new language features would be desired from the developer perspective. 
https://www.cdslab.org/paramonte/


Amir Shahmoradi, The University of Texas
Fatemeh Bagheri, The University of Texas
Joshua Osborne, The University of Texas
Shashank Kumbhare, The University of Texas

https://tcevents.chem.uzh.ch/e/FortranCon2020