-
Notifications
You must be signed in to change notification settings - Fork 643
perf(dpa4): batch the SO3/grid contractions over (D,F); keep use_amp through pt_expt assembly #5960
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
wanghan-iapcm
wants to merge
19
commits into
deepmodeling:master
Choose a base branch
from
wanghan-iapcm:perf-dpa4-grid-contract
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
7518a41
perf(dpmodel): contract the DPA4 grid-branch router with matmul
01c58e6
Revert "perf(dpmodel): contract the DPA4 grid-branch router with matmul"
193b49e
perf(dpmodel): stop broadcasting DPA4 so3 linear weights across nodes
7545961
perf(dpmodel): remove the remaining DPA4 broadcast-weight contractions
3c2b9bf
fix(dpa4): serialize use_amp so a configured false is not silently ig…
99d33ea
feat(pt_expt): honor enable_tf32 / DP_TF32_INFER like the pt backend
504bb24
perf(dpmodel): stop spelling the DPA4 grid router as a degenerate GEMM
1270762
Merge upstream/master into perf-dpa4-grid-contract
ae72043
docs: shorten the comments added by this branch
1574442
revert(dpmodel): restore master's GridBranch router line
1e56cf6
Revert "feat(pt_expt): honor enable_tf32 / DP_TF32_INFER like the pt …
c1792fa
Merge branch 'master' of github.com:deepmodeling/deepmd-kit into perf…
63071be
fix(dpmodel): preserve empty batches in the degree-batched contraction
fa46570
fix(pt_expt): keep use_amp out of serialization, fix the assembly bou…
8bce829
fix: address review round 2 (D,F batching, lossless compositions, tes…
e2f54c8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 81e756d
test,docs: pin the SO3/LoRA contraction contract and dedup the assemb…
c958cd7
Merge upstream/master into perf-dpa4-grid-contract
d5bf63d
refactor: drop the unused inner_potential_model injection point
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR changes the dpmodel
LoRASO3.callcontraction, but no existing test executes this implementation.source/tests/common/dpmodel/test_dpa4_lora.pyonly checks adapter injection and trainability, whileTestLoRASO3Adapterexercises the separate pt implementation. A shape or algebra regression in this changed path would therefore be unobserved.I checked the current code independently with
n_focus=2and a nonzeroB_by_l; its forward matcheseinsum("ndfi,difo->ndfo")exactly, so this is a coverage gap rather than evidence of a current numerical error. Please add a direct dpmodelLoRASO3.callregression forn_focus=1and2, setB_by_lnonzero so the adapter delta participates, and compare NumPy and Torch array-namespace results with the einsum contract.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed,
LoRASO3had no value-level coverage of the rewritten contraction. Addedtest_lora_so3_call_matches_einsum_contractin81e756d3: it sets a nonzeroB_by_l(a fresh adapter is zero-initialized, so with the default weights the test would have been vacuous), builds the reference by hand —delta = (B @ A)^T * scaling, folded into the weight, expanded byexpand_index, theneinsum("ndfi,difo->ndfo")— and comparescall()against it on both the numpy and torch namespaces, forn_focus1 and 2, at rtol/atol 1e-12.