EMEWS: Extreme-scale Model Exploration with Swift

As high-performance computing resources have become increasingly available, new modes of computational processing and experimentation have become possible. The Extreme-scale Model Exploration with Swift (EMEWS) framework enables the direct integration of multi-language model exploration (ME) algorithms while scaling dynamic computational experiments to very large numbers (millions) of models on all major HPC platforms. EMEWS has been designed for any "black box" application code, such as agent-based and microsimulation models or training of machine learning models, that require multiple runs as part of heuristic model explorations. One of the main goals of EMEWS is to democratize the use of large-scale computing resources by making them accessible to more researchers in many more science domains. EMEWS is built on the Swift/T parallel scripting language.

EMEWS Installation

EMEWS software can be most easily installed through the Spack package manager. If you don't have Spack installed, do the following, which will install Spack and set up Spack shell support:

$ git clone https://github.com/spack/spack.git
$ . spack/share/spack/setup-env.sh
Different flavors of Swift/T can be installed depending on the type of EMEWS workflow you need. The Python and R-enabled Swift/T variant is recommended:
  • You'll need an R with RInside and Rcpp packages installed. If you don't already have R installed, you can optionally install it with Spack:
  • ## Optional R, Rcpp and RInside Install with Spack
    $ spack install r-rinside 
    $ spack activate r-rinside 
  • Then Swift/T is installed:
    $ spack install stc ^turbine+python+r

Look here for information and tips to reduce the number of dependencies that need to be built by Spack by using already installed software.
Once Swift/T is installed, you can install EQ/R and EQ/Py (manually or via Spack) to allow for R-based or Python-based model exploration. See the EMEWS tutorial (below) for more information.

EMEWS Tutorial

The EMEWS tutorial is the primary resource for using EMEWS.

EMEWS Resources

For additional EMEWS resources, see the resources page.

EMEWS Papers

For EMEWS papers, see the papers page.

EMEWS Support

For support, including EMEWS mailing list information, see the support page.