Robust paralleization using pmap calls with checks for the type of returned values. RobustPmap is a module of MADS.
MADS (Model Analysis & Decision Support) is an integrated open-source high-performance computational (HPC) framework in Julia. MADS can execute a wide range of data- and model-based analyses:
- Sensitivity Analysis
- Parameter Estimation
- Model Inversion and Calibration
- Uncertainty Quantification
- Model Selection and Model Averaging
- Model Reduction and Surrogate Modeling
- Machine Learning and Blind Source Separation
- Risk Assessment
- Decision Analysis and Support
MADS has been tested to perform HPC simulations on a wide-range of multi-processor clusters and parallel environments (Moab, Slurm, etc.). MADS utilizes adaptive rules and techniques which allows the analyses to be performed with a minimum user input. The code provides a series of alternative algorithms to execute each type of data- and model-based analysis.
All the available MADS modules and functions are described at madsjulia.github.io
Pkg.add("Mads")
Julia uses git for package management.
To install Julia packages behind a firewall, add the following lines in the .gitconfig
file in your home directory:
[url "https://"]
insteadOf = git://
or execute:
git config --global url."https://".insteadOf git://
Set proxies:
export ftp_proxy=http://proxyout.<your_site>:8080
export rsync_proxy=http://proxyout.<your_site>:8080
export http_proxy=http://proxyout.<your_site>:8080
export https_proxy=http://proxyout.<your_site>:8080
export no_proxy=.<your_site>
For example, if you are doing this at LANL, you will need to execute the following lines in your bash command-line environment:
export ftp_proxy=http://proxyout.lanl.gov:8080
export rsync_proxy=http://proxyout.lanl.gov:8080
export http_proxy=http://proxyout.lanl.gov:8080
export https_proxy=http://proxyout.lanl.gov:8080
export no_proxy=.lanl.gov
In Julia REPL, do the following commands:
import Mads
To explore getting-started instructions, execute:
Mads.help()
There are various examples located in the examples
directory of the Mads
repository.
For example, execute
include(Mads.madsdir * "/../examples/contamination/contamination.jl")
to perform various example analyses related to groundwater contaminant transport, or execute
include(Mads.madsdir * "/../examples/bigdt/bigdt.jl")
to perform Bayesian Information Gap Decision Theory (BIG-DT) analysis.