Carlo is a framework for developing high-performance, distributed (quantum) Monte Carlo simultations. Its aim is to take care of model-independent tasks such as
- autocorrelation and error analysis,
- Monte-Carlo-aware MPI scheduling, and
- checkpointing
while leaving all the flexibility of implementating Monte Carlo updates and estimators to you.
To install the package, type
using Pkg; Pkg.add("Carlo")
The package itself does not include Monte Carlo algorithms. The quickest way to see how to implement one yourself is to check out the reference implementation for the Ising model. For a state-of-the-art Monte Carlo code, take a look at StochasticSeriesExpansion.jl.