MLQM stands for "Machine Learning Quantum Montecarlo". This repository contains tools to perform variational monte carlo for nuclear physics, though there are some additional Hamiltonians implemented as development tools and cross checks: the harmonic oscillator and the Hydrogen atom.
The requirements to run this code are:
- python > 3.6
- tensorflow > 2.X (not TF1 compatible)
- hydra-core > 1.0 (for configuration)
- horovod (for scaling and multi-node running)
There is no installation step, it's expect that once you have the requirements install you can begin running immediately.
The main executable is bin/stochastic_reconfiguration.py
. You can execute it with:
python bin/stochastic_reconfiguration.py run_id=MyTestRun
Most parameters have reasonable defaults, which you can change in configuration files (in config/
) or override on the command line:
python bin/stochastic_reconfiguration.py run_id=deuteron nparticles=2 iterations=500 optimizer=AdaptiveDelta [... other argument overrides]
This software is compatible with both CPUs and GPUs through Tensorflow. It has good weak and strong scaling performance:
The software also has good scaling performance with increasing number of nucleons:
If you use this software, please reference our publication on arxiv