Skip to main content

ParaMonte - Plain Powerful Parallel Monte Carlo Library


ParaMonte is a serial/parallel 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, with the design goal of unifying the automation (of Monte Carlo simulations), user-friendliness (of the library), accessibility (from multiple programming environments), high-performance (at runtime), and scalability (across many parallel processors).

For more information on the installation, usage, and examples, visit: https://www.cdslab.org/paramonte

ParaMonte design goals

ParaMonte has been developed while bearing the following design goals in mind:

  • Full automation of all Monte Carlo simulations to the highest levels possible to ensure the highest level of user-friendliness of the library and minimal time investment requirements for building, running, and post-processing of simulation models.
  • Interoperability of the core library with as many programming languages as currently possible, including C/C++, Fortran, Python, with ongoing efforts to support other popular programming languages.
  • High-Performance meticulously-low-level implementation of the library to ensure the fastest-possible Monte Carlo simulations.
  • Parallelizability of all simulations via two-sided and one-sided MPI/Coarray communications while requiring zero-parallel-coding efforts from the user.
  • Zero-dependence on external libraries to ensure hassle-free ParaMonte library builds and ParaMonte simulation runs.
  • Fully-deterministic reproducibility and automatically-enabled restart functionality for all simulations up to 16 digits of precision as requested by the user.
  • Comprehensive-reporting and post-processing of each simulation and its results, as well as their automatic storage in external files to ensure the simulation results will be comprehensible and reproducible at any time in the distant future.

Installation

The latest release of ParaMonte can be installed from PyPI using pip:

pip3 install --user paramonte  

or,

pip install --user paramonte  

Alternatively, you can build the library from the source in the GitHub repository of the project (https://github.com/cdslaborg/paramonte). For instructions, please visit: cdslab.org/pm

Dependencies

The Python interface of ParaMonte depends on several Python standard modules, as well as third-party libraries. These include numpy, scipy, pandas, matplotlib, and seaborn. The last two (plotting) libraries are only used for the post-processing of simulation results and are therefore not needed if you do not plan to use the post-processing functionalities of ParaMonte. If you have a recent version of Anaconda Python distribution installed on your system, then all of the dependencies already exist and are automatically installed on your system.

Parallelism

ParaMonte relies on Message Passing Interface (MPI) standard for inter-processor communications. To run a parallel simulation you will have a compatible MPI library installed on your system. In most cases, ParaMonte can automatically install the required MPI libraries on your system (with your permission), when you download, install, and import paramonte into your Python environment for the first time. If the automatic installation is unsuccessful, you can also install the libraries manually on your system. On Windows and Linux operating systems, we highly recommend downloading and installing Intel MPI library, which is available free of charge. On macOS, we recommend MPICH since the Intel MPI library does not support macOS.

Citing ParaMonte

The paper for this package is already in the publication process. Until then, if you use this package, we kindly ask you to cite:

  • Amir Shahmoradi (2013). A Multivariate Fit Luminosity Function and World Model for Long Gamma-Ray Bursts. The Astrophysical Journal (ApJ) 766:111-133 (PDF link).

Authors

  • Amir Shahmoradi:

    • astrophysicist/bioinformatician by training (and a science-lover in general),
    • Ph.D. in computational physics/bioinformatics from the University of Texas at Austin,
    • currently a faculty member of Physics and Data Science at The University of Texas at Arlington,
    • with teaching/research experience/background in computational and data sciences, statistics, data analysis, and modeling, stochastic processes, Monte Carlo Methods, Bayesian probability theory, high energy physics, astronomy and astrophysics, computational physics, Molecular Dynamics simulations, biomedical science and MRI data analysis, bioinformatics and evolutionary biology (viral evolution, protein dynamics, and interactions),
    • contact: shahmoradi@utexas.edu
  • Fatemeh Bagheri:

    • physicist / cosmologist by training,
    • currently a UTA Physics member,
    • deep philosophical thinker,
    • contact: Fatemeh.Bagheri@uta.edu

License

GNU Lesser General Public License

Release files for paramonte 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paramonte 1.0.6
File Size Uploaded
paramonte-1.0.6.tar.gz 35.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for paramonte 1.0.6
File Interpreter ABI Platform
paramonte-1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 71.5 MB

Release files / paramonte-1.0.6.tar.gz

Download URL paramonte-1.0.6.tar.gz
Size 35.6 MB
Tags Source
SHA-256 checksum
How to use checksums
70ede4b48c351b92e996b3165cbd867f6c62b2182347d1c86bd2762bd0d201a3
BLAKE2b-256 checksum
How to use checksums
a7d020cb562cb3357f25e651902952d10c16bae4daf9e091055954265aef0f20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

Release files / paramonte-1.0.6-py3-none-any.whl

Download URL paramonte-1.0.6-py3-none-any.whl
Size 35.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
6d95460e266e7aaece797ba3a4653246d12168db4c222978398fb4c8b60e658c
BLAKE2b-256 checksum
How to use checksums
48fdc3dee3289e86904d6a52becf67fc12d2bc18fdff3e0881bb68f5451a30d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

Release history Release notifications | RSS feed

2.5.2

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.5

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

1 release file

This release

1.0.6 This release

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page