Toolkit

VECMA M15 Release versions of all components:

 

Overview of the VECMA Toolkit

The VECMA Toolkit (VECMAtk) enables automated VVUQ for multiscale applications that can be deployed on emerging exascale platforms. VECMAtk provide support for software applications regardless of the domain of interest. The month 12 release, and is made up of the following tools:

In Figure 1 we show how the different tools are combined when using each of the four application tutorials, after which we provide a short introduction to each component.

Map showing which components are used by which tutorials

Figure 1: Tube Map showing which VECMAtk components are used in which tutorials. VECMAtk components are given in boxes, and the tutorials are indicated using colored lines. Note that in particular EasyVVUQ can be used both on the local desktop for ease of use, or on a remote HPC resource for improved performance.

Overview of the VECMAtk components

 

FabSim3

FabSim3 is an automation toolkit for complex simulation tasks. FabSim3 helps users to perform complex remote tasks from a local command-line, and to automatically organise their data and environment variables when they perform these tasks. FabSim3 supports the execution of single jobs, ensembles of multiple jobs, and dynamic workflows through schedulers such as Slurm, PBSPro, LoadLeveller and QCG. Further information can be found here:

EasyVVUQ is a Python library designed to facilitate verification, validation and uncertainty quantification (VVUQ) for a wide variety of simulations. It was concieved and developed within the EU funded VECMA (Verified Exascale Computing for Multiscale Applications) project. Further information can be found here:

QCG Pilot Job is a lightweight implementation of the Pilot Job mechanism. It can be easily incorporated into scientific workflows to provide efficient and reliable execution of large number of computational jobs.

QCG-Now is a portable desktop program that allows to prepare and run computational jobs on the HPC machines. With an intuitive interface and in a flexible and secure manner it automatises a process of job submission, data management and simulation progress monitoring. The sources are currently stored on our servers, the access to them could be requested. The released packages are available from the downloads webpage. Particular links are as follows:

QCG-Client a command-line interface to the QCG middleware. Its interface is similar to the well known interfaces of queuing systems, such as Slurm or PBS. QCG-Client provides support for a variety of computing jobs, from simple ones to complex distributed workflows.

EasyVVUQ-QCGPilotJob is a lightweight integration code that simplifies usage of EasyVVUQ with a QCG Pilot Job execution engine. Unlike the previous components, it’s not a standalone tool, but should only be used by applications that rely on both EasyVVUQ and QCG Pilot Job (without FabSim3).

MUSCLE 3 is the third incarnation of the Multiscale Coupling Library and Environment. Its purpose is to make creating coupled multiscale simulations easy, and to then enable efficient Uncertainty Quantification of such models using advanced semi-intrusive algorithms. MUSCLE 3 uses the Multiscale Modelling and Simulation Language (MMSL) to describe the structure of a multiscale model. MMSL can be expressed in the form of a diagram (gMMSL; not yet implemented) or as a YAML file (yMMSL; this is convenient both for people and for software). The MMSL lets one describe which compute elements (submodels, scale bridges, data converters, UQ components, etc.) a multiscale model consist of, how many instances of each we need, and how they are wired together. MUSCLE 3 is intended to scale from your laptop to the exascale, and we intend to test and apply the toolkit to progressively larger resources with each new release.

The development of MUSCLE3 is supported by the Netherlands eScience Center and NWO under the project e-MUSC.