Add experimental MLIP backends with validated results and durable batches - #14
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add experimental, agent-free MLIP APIs and CLI commands for direct ASE MACE,
Rootstock-managed models, and NVIDIA ALCHEMI MACE. Support energy evaluation and
fixed-cell optimization, with calculator/model reuse and ordered batch results.
Validate finite configuration, structures, energies, forces, and available
stress before reporting success. Reject explicitly unsupported frontend options.
Keep numerical success separate from optimization convergence: valid unconverged
results remain available, while CLI/example commands exit nonzero for any failed
calculation or unconverged requested optimization.
Persist each completed item atomically, updating a batch manifest throughout
execution. Interrupted jobs, later failures, and calculator cleanup errors retain
previously committed results. Existing batch manifests and active batch locks
are refused; automatic resume and retries remain follow-up work.
Interfaces and execution
run_mlip,run_mlip_batch, configuration classes,energy, and units.running/interruptedmanifest states alongside final execution statuses.2 for invalid arguments. Structured summaries precede failure diagnostics.
PyTorch. Incompatible ChemGraph/ALCHEMI dependencies require separate environments.
Validation
c0d4e92: lint, build, and Python 3.10/3.11/3.12 tests all pass.PYTHONPATH=src pytest tests/ -q: 259 passed, 1 skipped.python -m build --no-isolation.--help; Polaris shell scripts passbash -n.git diff --checkpasses.strict exits, incremental persistence, interruptions, write/cleanup failures,
worker isolation, native result conversion, ordering, and convergence mapping.
Experimental GPU support and follow-up
No live GPU, deployed Rootstock model, scheduler job, or model download was run
for this validation. The opt-in Polaris recipe records energy and optimization
cases for each backend, including a two-structure native ALCHEMI batch, and retains
environment/commit information, commands, logs, results, and convergence evidence.
CPU doubles and prepared recipes do not establish real GPU compatibility.
Benchmarking, checkpoint provenance, resume, and broader API unification remain
deferred. Native optimization step counts remain unknown, and native per-item
timings include shared chunk work. Existing GCMC fixes are tracked separately.