Releases: llnl/orchestrator
Releases · llnl/orchestrator
v0.6.0
Orchestrator Version 0.6 Release Notes - 2025-10-09
Overview
This release introduces a range of new features, integrations, bug fixes, and
usability improvements.
New Features and Capabilities
| Module | Addition Summary |
|---|---|
| Augmentor | More flexibility for specifying extraction environment of subcells, ability to delete close contacts on edge of box with min_dist_delete. |
| ChIMES Potential | New Potential module for supporting ChIMES potentials, including integration with KIM API. |
| ChIMES Trainer | New Trainer module for supporting training of ChIMES potentials. |
| Colabfit Storage | Enhanced query capabilities via the colabfit CLI, enabling more robust and flexible data retrieval and search. |
| KIMRun TargetProperty | Added Podman container support for improved portability on different HPC systems. Generalized setup with improved documentation. |
| QUESTS Descriptors | Multi-element descriptor support added to QUESTS module. |
| Utility | Added utility function for parsing external output data from QE or VASP calculations into Orchestrator format. |
| VASP Oracle | Added non-AiiDA VASP Oracle using pymatgen for parsing. |
Code Updates
| Module | Change Summary |
|---|---|
| KliFF Trainers | Updated for improved integration with kimkit. |
| Local Workflow | Local workflow now supports parallel execution if tasks set in job_details (no default parallelism). |
| Oracle | Metadata tracking infrastructure extended to additional oracle modules. |
| Oracle/Storage | Check for calculation settings consistency in a dataset no longer compares exact magmom array for magnetic order. Will check for uniform setting. |
| Potential | If a user wants to upversion a potential they do not own, a fork is now made instead of returning an error. |
| Potential | Default kim_api string now set at init. |
| Potential | Default KIM API install locality changed to user, rather than environment, to avoid unnessecary conflicts. |
| Potential | Remove kim_item_type argument from Potential functions to simplify API and reduce mismatches with settings at init. |
| SNAP Potential | Updates to output file formatting to remove unsupported keywords in stable version 000 portable model driver. |
| Test | Reorder unit tests for the Potential and Trainer modules for improved organization. |
| Workflow | Add QOS option to Workflow module arguments. |
Bug Fixes
| Issue | Resolution |
|---|---|
| Potential version incrementing | Incrementing version numbers from upversioning or forking now correctly propagates and returns the kim_id attribute. |
| Potential KIM API uninstall logic | Fixed bug where supplying a potential ID would result in not uninstalling with the uninstall_potential_from_kim_api() function. |
| Potential kimkit saving names | Temporary tar file generated for kimkit save reflects potential name (KIM ID) instead of random string. |
| SNAP and Tersoff example notebooks | Function calls updated for compatibility with latest modules. |
| SNAP Potential file accounting | SNAP file ordering for simulator and portable models fixed. |
| Storage metadata checking logic | Fixed energy/force/stress keys that were checked in order to store Oracle metadata in database. |
Known Issues
- VASPOracle missing unit test
- Augmentor functions missing unit tests
- Partial KIM integration support (kimkit, KIM API) for KliffBPPotential
v0.5.0
Orchestrator Version 0.5 Release Notes - 2025-08-15
Overview
Orchestrator is a modular, extensible Python framework designed to streamline the end-to-end workflow for building, training, testing, running, and analyzing Interatomic Potentials (IAPs) and large-scale molecular dynamics (MD) simulations. It provides a uniform API for integrating diverse simulation codes and tools, reducing human effort in complex scientific workflows.
Design Features
1. Modular Architecture
- Abstract Base Classes: Core functionality is defined via abstract classes, enabling drop-in replacement of concrete implementations via the uniform API.
- Extensible Factories/Builders: Uniform instantiation of modules via factory and builder patterns.
2. Supported Workflows
- IAP Development: Build, train, validate, and deploy interatomic potentials (empirical, ML-based).
- Simulation Management: Run and analyze MD simulations, including property calculations (melting point, elastic constants, etc.).
- Ground Truth Calculation: Generate, run, and parse DFT or other ground truth calculations for training data generation, cataloguing outputs and settings for consistency.
- Active Learning/Pruning: Dataset augmentation and reduction using scoring and selection modules.
3. Integration with Existing Code Infrastructure
- KIM Suite Integration: Seamless use of KIM-API, KIMkit, KIM Tests, KliFF, and Colabfit for model management and simulation.
- AiiDA Support: Automated provenance tracking, error handling, and job management for DFT codes (VASP, Quantum Espresso).
- ASE Atoms: ASE Atoms are used as the internal representation for atomic-scale configurations.
4. Data Management
- Flexible Storage: Local (filesystem) and Colabfit (PostgreSQL) storage backends for datasets, supporting ASE Atoms as the core data structure. KIMkit provides similar functionalities for IAPs.
- Metadata & Versioning: Built-in metadata tracking, version control, and property mapping for datasets and potentials.
5. Testing & Validation
- Comprehensive Test Suite: Unit tests for all modules, with curated reference outputs and pytest integration.
- Semi-Automated Checking: Scripts for setup, execution, and validation of tests across modules.
6. Job Execution & Workflow Management
- Local & HPC Execution: Support for local execution, Slurm, LSF, and hybrid Slurm-to-LSF workflows.
- Asynchronous/Synchronous Modes: Flexible job submission and blocking/waiting mechanisms.
- Checkpointing & Restart: Robust checkpointing for long-running or multi-step workflows.
7. Analysis & Scoring
- Score Modules: Quantify uncertainty, diversity, efficiency, and importance using information-theoretic and UQ metrics (LTAU, QUESTS, FIM).
- Augmentor: Advanced dataset pruning, novelty detection, and subcell extraction for active learning.
Module Organization
| Module Type | Description |
|---|---|
| Turn-key | Application-style execution (Executor, under development) |
| Coordinating | Modules which leverage one or more "atomic" modules in simple to complex coordination for their operation. Include: Augmentor, TargetProperty |
| Atomic | Modules which serve as the building blocks of core functionality. Simpler "input" --> "output" usage. Include: Descriptor, Oracle, Potential, Score, Simulator, Trainer |
| Utility | Backend support for module, data, and file management. Include: Factory/Builder, Restart, Storage, Workflow |
More Information
Full docs can be found at https://orchestrator-docs.readthedocs.io/en/latest/index.html
Bugs, feature requests, or other comments can be addressed via Issues
or messages sent to orchestrator-help@llnl.gov
Full Changelog: https://github.com/LLNL/orchestrator/commits/v0.5.0