Distributed and parallel sampling from intractable distributions
34 Stars
Updated Last
1 Year Ago
Started In
November 2022


Dev Build Status Coverage ColPrac: Contributor's Guide on Collaborative Practices for Community Packages

Pigeons.jl enables users to leverage distributed computation to obtain samples from complex distributions, such as those arising in Bayesian inference and statistical mechanics. It can easily be used in a multi-threaded context and/or distributed over thousands of MPI-communicating machines.

⚠️ Warning
This package is currently under development. The user interface may change substantially prior to the first stable release. Please view our documentation for the most up-to-date description.


The following features should be implemented according to the timeline given below:

  • Sampling on discrete state spaces: January 2023 ✔️
  • Parallel tempering with a variational reference: April 2023 ✔️
  • "Parallel parallel" tempering (multiple copies of parallel tempering): TBD

Funding and acknowledgments

The development and testing of Pigeons.jl is supported by the Natural Sciences and Engineering Research Council of Canada Discovery Grant and Vanier programs, and by the University of British Columbia Advanced Research Computing. The authors would like to thank Roman Baranowski, Jacob Boschee and Alyza Rosario for their help with MPI.