docs: update README for 0.2.0 - #157
Open
nikitafedik wants to merge 1 commit into
Open
Conversation
Bring the README up to date for the 0.2.0 release. Add the subsystems that
landed during this cycle, training (nvalchemi.training) and spatial domain
decomposition (nvalchemi.distributed), along with the UMA wrapper and
MultiDataset composition.
Restructure the list to lead with capabilities rather than architecture,
with batched GPU simulation first. Split model listings into interatomic
potentials and interaction terms, since Ewald and PME read charges an MLIP
predicts. Clarify the | operator as stage-parallel so it reads distinctly
from the new intra-system spatial decomposition.
Add a Roadmap section following the format used in nvalchemi-toolkit-ops,
and replace the inline breaking-changes paragraph with a pointer to
CHANGELOG.md, which already carried all five items.
Add training and domain-decomposition example snippets, and fix three
snippets that do not run against the current API:
- LoggingHook(frequency=100) raised TypeError; backend is required
- DemoDynamics.run(batch) raised AttributeError on batch.forces;
forces, energy and velocities must be pre-allocated on AtomicData
- DemoDynamics(model=model, dt=0.5) raised TypeError; n_steps is required
Snippets 1-3 were verified by execution in a uv sync --extra cu13
environment. Snippets 4-6 need two ranks; their API calls were confirmed
but they were not run end to end.
Signed-off-by: Nikita Fedik <nfedik@nvidia.com>
Contributor
Greptile SummaryUpdates the README for the 0.2.0 feature set.
Important Files Changed
Reviews (1): Last reviewed commit: "docs: update README for 0.2.0" | Re-trigger Greptile |
| </details> | ||
|
|
||
| <details> | ||
| <summary>Train a model with validation and checkpointing</summary> |
Contributor
There was a problem hiding this comment.
Checkpointing is not demonstrated
The example configures validation but does not install a CheckpointHook or call a checkpoint-saving API, so its current title incorrectly tells readers that running it will produce restartable checkpoints.
Suggested change
| <summary>Train a model with validation and checkpointing</summary> | |
| <summary>Train a model with validation</summary> |
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
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.
ALCHEMI Toolkit Pull Request
Description
Brings
README.mdup to date for the 0.2.0 release. Adds the subsystemsthat landed during this cycle, training (
nvalchemi.training) and spatialdomain decomposition (
nvalchemi.distributed), along with the UMA wrapperand
MultiDatasetcomposition. Key Features is restructured so thelist leads with what the toolkit does.
Also fixes three example snippets that do not run against the current API.
Type of Change
Related Issues
None.
Coordination note: does not overlap with #146 ("Exp docs 0.2.0 preview"),
which touches 100 files under
docs/but neitherREADME.mdnorCHANGELOG.md.Changes Made
architecture, with batched GPU simulation first.
domain decomposition, the UMA wrapper, and
MultiDataset/InMemoryDatasetand transforms.bring-your-own) and Interaction terms (Ewald/PME, DFT-D3, Lennard-Jones),
since Ewald and PME read charges an MLIP predicts and cannot stand in for a
potential.
|operator as stage-parallel, so it reads distinctly from thenew intra-system spatial decomposition.
nvalchemi-toolkit-ops.CHANGELOG.md, which already carried all five items.splitting one system across GPUs with
DomainParallel.LoggingHook(frequency=100)raisedTypeError;backendis a requiredpositional argument (
"csv"also needslog_path).DemoDynamics.run(batch)raisedAttributeError: 'Batch' has no attribute 'forces'. Dynamics needsforces,energyandvelocitiespre-allocatedon
AtomicData, asexamples/basic/02_geometry_optimization.pydoes.DemoDynamics(model=model, dt=0.5)raisedTypeError;n_stepsisrequired. Affected two snippets.
Testing
make pytest)make lint)make lintexits 0, and the repo'smarkdownlintpre-commit hook passes onREADME.md.make pytestwas not run: this PR changes no source undernvalchemi/, sothere is no behavior to regress.
Example snippets were verified by execution rather than inspection, in a
uv sync --extra cu13environment on an RTX 4000 SFF Ada (CUDA 13.2):+fused stage) wereextracted verbatim from
README.mdand run to completion. Snippet 1 printedtorch.Size([2, 1])andtorch.Size([7, 3]), matching its comments; snippet2 wrote a CSV with
step,graph_idx,status,energy,fmax,temperaturerows.|pipeline, training, domain decomposition) need two ranksand a single GPU was available, so their API calls were confirmed instead:
|builds aDistributedPipeline, the loss expression yields aComposedLossFunction, andTrainingStrategy,ValidationConfig,NVTLangevin,DomainConfigandDomainParallelall bind their keywordarguments. These three have not been executed end to end.
Checklist
CHANGELOG.mdis deliberately untouched. It does need attention beforerelease, but as separate commits rather than folded into a README change:
Addedentry fornvalchemi.distributed, the largest feature in therelease (~30.8k lines across 70 files). It currently appears only under
Fixed.Unreleasedheading needs to become0.2.0with a date.PipelineModelWrapper(make PipelineModelWrapper trainable #99), MACE wrapper training support (update mace wrapper to enable training #97),the
torch>=2.8floor (Bumpingtorchminimum version to 2.8 #85), and the toolkit-ops 0.4.0 pin (Pin Toolkit-Ops version to 0.4.0 #120).W3x smaller) is filed underFixed. It silently changes existing NPT runs, so it may belong underBreaking Changes.Additional Notes
Two items worth a reviewer's judgement:
nvalchemi-toolkit-ops, and it carries no dates. Whether a public roadmapis wanted here at all is a maintainer call.
check over fenced
pythonblocks would catch this class of drift early.