VECMA VVUQ Toolkit

VECMA VVUQ Toolkit

The VECMA toolkit (VECMAtk) can be found on its own designated webpage vecma-toolkit.eu

The VECMAtk establishes a platform for verification, validation and uncertainty quantification (VVUQ). The goal is to provide tools that can be combined to capture complex scenarios, applied to applications in disparate domains, and used to run multiscale simulations on any desktop, cluster or supercomputing platform.

The VECMAtk is periodically updated, with minor releases every 3 months, and major releases every 12 months.

Month 24 release

The Month 24 release (11 June 2020) is made up of the following tools:

  • FabSim3
  • EasyVVUQ
  • QCG Pilot Job
  • QCG-Now
  • QCG-Client
  • EasyVVUQ-QCGPilotJob
  • MUSCLE3

Some significant new features and updates have been made in M24 release.

The Month 24 release has a prominent new feature allows users to install all packages for the Toolkit as a python virtualEnv.

In addition to installing each component of VECMA VVUQ Toolkit individually, the full VECMAtk Toolkit is available for download and installation; this contains all the software components in the form of a Python VirtualEnv.

For EasyVVUQ, it has Important changes since v0.5

  • Added support for vector QOIs
  • Implemented validation classes for comparing probability distributions
  • New tutorials
  • Expanded test coverage
  • Implemented automatic continuous deployment (to pypi and conda cloud)
  • Created an Anaconda package

MUSCLE3 v0.3.1 has been updated with the new features:

  • Support for sending and receiving multidimensional grids/arrays
  • Support for Python 3.8

and improved functions:

  • Python 3.5.1 support
  • Build compatibility on more operating systems

FabSim3 v2.0 has the following new Features

  • Fixed synchronizing/copying for a large number of files and folders 
  • Added support for setting memory size for the submitted job 
  • Added two new FabSim3 plugins FabCovid and fabmogp
  • Setup new documentation website 

and updates

  • Fixed overwritten of env.memory bug
  • Fixed QCG-PJ template file for a large number of jobs 
  • Improved FabSim3 automated installation script
  • Fixed several bugs
  • Improved performance and scalability

Tutorials

This version of FabSim3 has been used to enable three of the VECMA application tutorials:

QCG-PilotJob V0.8.0 has been updated with the new features:

  • new form of documentation based on Sphinx at https://qcg-pilotjob.readthedocs.io
  • changed package name to qcg-pilotjob (previously QCGPilotManager)
  • changed Python library module name to qcg.pilotjob (previously qcg.appscheduler)
  • updated documentation in API methods
  • added more optimal way of handling iterative jobs
  • job names cannot contain any special character nor the variable in form ${}
  • iterations of job’s will automatically have assigned job name in format: MAIN_JOB_NAME:ITERATION_INDEX
  • changed ‘iterate’ element in job description: 
    • the new name is ‘iteration’
    • the new format is dictionary with ‘start’ (optional) and ‘stop’ keys
  • changed API methods: 
    • qcg.pilotjob.api.job.Joblist: 
      • addStd() -> add_std()
      • jobNames() -> job_names()
      • orderedJobNames() -> ordered_job_names()
      • orderedJobs() -> ordered_jobs()
      • loadFromFile() -> load_from_file()
      • saveToFile() -> save_to_file()
    • qcg.pilotjob.api.manager.Manager:
      • sendRequest() -> send_request()
      • isStatusFinished() -> is_status_finished()
    • qcg.pilotjob.api.manager.LocalManager:
      • stopManager() -> kill_manager_process()
  • new method qcg.pilotjob.api.manager.Manager.info_parsed() – returns job information in parsed form
  • qcg.pilotjob.api.manager.Manager.resources() – changed attributes in response: 
    • totalCores -> total_cores
    • totalNodes -> total_nodes
    • usedCores -> used_cores
    • freeCores -> free_cores
    • EasyVVUQ-QCGPJ

EasyVVUQ-QCGPJ V0.3 has been updated with the new features:

  • a new form of documentation based on Sphinx 
  • packages available in the pypi repository 
  • released an explicite dependency on EasyVVUQ and QCG-PilotJob, so the tool can be installed as a plugin for the existing installation of EasyVVUQ.
  • support for the latest versions of EasyVVUQ (v0.6) and QCG-PilotJob (v0.8)

 

 

 

Previous Releases

Month 21 release

The Month 21 release has the following tools:

  • FabSim3
  • EasyVVUQ
  • QCG Pilot Job
  • QCG-Now
  • QCG-Client
  • EasyVVUQ-QCGPilotJob
  • MUSCLE3

Features and updates made in M21 release are listed as follows.

For EasyVVUQ, it has:

  • Point Collocation method for PCE sampling.
  • GaussianProcessSurrogate class which will serve as a basis and testing ground for surrogate based workflows
  • Added quasirandom sampling classes: LHCSampler and HaltonSampler.
  • JSONDecoder class. It allows codes to use JSON as output format.

And the tool has the following updates:

  • Started measuring test coverage using coveralls
  • Numerous bug fixes

For FabSim3, the tool has the following new feature:

  • Added automated configuration of machines_user.yml file (#173 , #162)

FabSim3 has been updated with:

  • Fixed Multi threading bug, allowing for much larger ensemble sizes (#175#174)
  • Disabled execution of run_prefix commands on the remote machine during the job submission (#171#176)
  • Defined additional functional tests for FabSim3 and plugins (#125)

MUSCLE3 has been released with the new tag: 0.3.0. MUSCLE3 has now with support for Fortran model components and various small fixes and improvements. The e-MUSC project has contributed MUSCLE 3 to the VECMA toolkit.

The QCG-PJ tool have been released with the new tags and have included several bugfixes, in particular:

  • bugfix related to the ‘job temporarily disabled’ error
  • bugfix related to the node launcher agent wait time

The QCG-EasyVVUQ-QCGPJ tool has some new features as follows:

  • possibility to use `EXEC_ONLY` option for `SubmitOrder` that limits the application of the pilot job tasks just to the actual execution of model (with this option decoding is executed without PJ)
  • possibility to define a logging level of the QCG Pilot Job software directly from the API
  • an internal tutorial material that can be helpful for new EasyVVUQ-QCGPJ users.  

Month 18 release

The Month 18 release is made up of the following tools:

  • FabSim3
  • EasyVVUQ
  • QCG Pilot Job
  • QCG-Now
  • QCG-Client
  • EasyVVUQ-QCGPilotJob
  • MUSCLE3

The following enhancements in terms of features have been made in the Month 18 release:

  • Improved UQ for the human migration application, mixing EasyVVUQ with FabSim3
  • QCG-PJ: improved scalability, both with and without EasyVVUQ
  • Support for half the UQ patterns originally proposed in VECMA for four projects
  • Stable version of MUSCLE3 – FabSim3 integration
  • Support for the High-Performance Computing Center Stuttgart (HLRS) supercomputer
  • Support for systematic output analysis through a new tool
  • Support for multiple Validation & Verification Patterns (VVPs)
  • 20 alpha users

Month 15 public release

The latest VECMAtk M15 release contains the following components:

  • EasyVVUQ
  • FabSim3
  • QCG Pilot Job
  • QCG-Client
  • QCG-Now
  • MUSCLE3

M15 release has the following feature improvements:

– Addition of MUSCLE 3.
– FabSim3: addition of replica support.
– Implementation of the first VVP + automated validation example.
– EasyVVUQ: completion of refactoring + addition of new UQ methods.
– Implementation of fixes addressing concerns from M12 release.
– Support for at least two UQ patterns.
– 15 alpha users.
– Alpha version of MUSCLE3 – FabSim3 integration.

The M15 version was released on September 13th, 2019.

Month 12 public release

Internal releases

Month 9

Month 6

Month 3