A range of software toolkits are available that address various facets of UQ. The present team of investigators has, over the past three years, built on this work, and honed it to provide a powerful, interoperable, open source and open development environment into which existing and new UQ capabilities can be inserted. These tools are intended to be general-purpose, cross-cutting, and highly flexible, our priority demonstration applications cover fusion energy, weather, biomedicine, advanced materials, human migration, and geosciences. Ease of use is a central design feature, by which existing applications can be quickly instrumented with VVUQ software, and rapidly deployed on supercomputers. As a testament to these capabilities, several of our VVUQ software items have been downloaded thousands of times.
Will establish the SEAVEA toolkit which aims to ensure that we can orchestrate full VVUQ on the NEPTUNE code. Official releases will be in M12 and M24 and a final release in M30, with the remaining months used to promote and harden the full version.
The SEAVEA toolkit establishes a platform for verification, validation and uncertainty quantification (VVUQ), building on the work VECMAtk and UQ codes from the Alan Turing Institute (ATI). 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.
Figure 1: Graphical overview of the components in the SEAVEA toolkit release and their integrations.
December 2023 Release of SEAVEAtk
FabSim3 – v3.76
Documentation: https://fabsim3.readthedocs.io/en/latest/
Plugins: https://fabsim3.readthedocs.io/en/latest/plugins/
Code and tutorials: https://github.com/djgroen/FabSim3/releases/tag/v3.76
New Features
- Support for Python 3.12
- New plugins: FabNESO, FabGuard, FabECO and FabOasis
- Support for dry runs for diagnostic purposes.
- Added command to wipe remote directories.
Updates
- Introduced a dynamic polling interval when waiting for completion (initially often, and reducing frequency as time passes)
- Fixed obsolete tests
- Updated literature references in documentation
- Various security fixes
- Fixes to autocomplete functionality
- Removed various obsolete defaults in machines.yml
- Improved implementation of SSHPass authentication method, which is slightly more secure.
Tutorials and plugins
- A full list of plugins and tutorials/documentation is available here: https://fabsim3.readthedocs.io/en/latest/plugins/
MUSCLE3 – v0.7.1
Documentation: https://muscle3.readthedocs.io/en/latest/
Code: https://github.com/multiscale/muscle3/releases/
Added
- Support for Python 3.11 (working already, now official)
- Enabled type checking support for the libmuscle Python API
Improved
- Easier crash debugging due to improved root cause detection
- Fixed crash in profiling timeline plot
- Better performance of timeline plot
- Better visual quality of timeline plot
- Improved profiling of shutdown process
- Fixed crash in profiler for large simulations
- Fixed several (harmless) compiler warnings
- Small documentation rendering improvements
RADICAL-Cybertools
Overview: https://github.com/radical-cybertools
Code: The latest RCT stack consists of the following releases:
- radical.utils: v1.43.0 – https://github.com/radical-cybertools/radical.utils/releases/tag/v1.43.0
- radical.saga: v1.42.0 – https://github.com/radical-cybertools/radical.saga/releases/tag/v1.42.0
- radical.pilot: v1.42.0 – https://github.com/radical-cybertools/radical.pilot/releases/tag/v1.42.0
- radical.entk: v1.42.0 – https://github.com/radical-cybertools/radical.entk/releases/tag/v1.42.0
- radical.analytics: v1.42.0 – https://github.com/radical-cybertools/radical.analytics/releases/tag/v1.42.0
Features:
- New features for the various RCT modules are described in each of the links above.
EasySurrogate – v0.19
Tutorial: https://github.com/wedeling/EasySurrogate/tree/master/tutorials
Code: https://github.com/wedeling/EasySurrogate
Updates:
- Generative Adversarial Networks: generative modelling with ANNs, tutorial: https://github.com/wedeling/EasySurrogate/tree/master/tutorials/GAN
- Batch normalization: to avoid covariate shift during training, tutorial: https://github.com/wedeling/EasySurrogate/tree/master/tutorials/batch_normalization
EasyVVUQ – v1.2.1
Documentation: https://easyvvuq.readthedocs.io/en/latest/
Code: https://github.com/UCL-CCS/EasyVVUQ/releases/tag/v1.2.1
Fixes and updates
- Fixed several tests for newer Python versions.
- Updated integration with QCG-PilotJob
Tutorials
- SSC tutorial: https://github.com/UCL-CCS/EasyVVUQ/blob/dev/tutorials/simplex_stochastic_collocation_tutorial.ipynb
- Hyperparameter tuning tutorial, local sampling: https://github.com/UCL-CCS/EasyVVUQ/blob/dev/tutorials/hyperparameter_tuning_tutorial.ipynb
- Hyperparameter tuning tutorial, remote sampling with FabSim3: https://github.com/UCL-CCS/EasyVVUQ/blob/dev/tutorials/hyperparameter_tuning_tutorial_with_fabsim.ipynb
QCG-PilotJob – v0.14.0
Documentation: https://qcg-pilotjob.readthedocs.io
Code: https://github.com/psnc-qcg/QCG-PilotJob/releases/tag/v0.14.0
Features:
- Support for QCG-PJ on the ARCHER2 supercomputer.
- High level interface with EasyVVUQ for novice users.
- Improved handling of custom arguments for LocalManager in QCGPJExecutor
- Fixed dependencies of zmq package
- Improved script element handling of in various parallel modes
- Changed the method of gathering available CPU identifiers
- A range of minor improvements
Bugfixes:
- Improved handling of custom arguments for LocalManager in QCGPJExecutor
- Fixed dependencies of zmq package
- Improved script element handling of in various parallel modes
- Fixed bug undefined variable
- Typo in service arguments
Other Improvements
Changed the method of gathering available CPU identifiers
MOGP – v0.72
Documentation: https://github.com/alan-turing-institute/mogp-emulator/tree/main/mogp_emulator/demos
Code: https://github.com/alan-turing-institute/mogp-emulator/releases/tag/v0.7.2
Updates:
- Up to date