Repository navigation
[WS2][CUDA][MiniMax-H3] tp_adaln_3mod: column-parallel AdaLN projection, byte-equal to WS1 (RFC #420 stack 8/10) #493
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
fusheng-ji
wants to merge
135
commits into
RL-Align:test-h3
Choose a base branch
from
fusheng-ji:feat/h3-tp-adaln-3mod
base: test-h3
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.
+3,907
−77
Open
Changes from all commits
Commits
Show all changes
135 commits
Select commit
Hold shift + click to select a range
e7bc53a
[WS1][CUDA][MiniMax-H3] adaln_gate_residual: gated residual with in-k…
fusheng-ji cd688b3
[WS1][MiniMax-H3] adaln_gate_residual: B200 evidence report and figure
fusheng-ji e7428b1
[WS1][CUDA][MiniMax-H3] final_adaln_out: norm_out projection + final …
fusheng-ji 623bec8
[WS1][MiniMax-H3] final_adaln_out: B200 evidence report, chain replay…
fusheng-ji debde49
Merge inherited RFC 420 review fixes into PR #488
fusheng-ji 36f8f3f
Merge inherited RFC 420 review fixes into PR #489
fusheng-ji cc86740
fix(h3): reject mixed-device RMSNorm native inputs
fusheng-ji 40a9b44
fix(h3): retain FP64 final AdaLN golden gradients
fusheng-ji 7090f00
fix(h3): address native validation and evidence review comments
fusheng-ji cff41e8
docs(h3): regenerate final AdaLN evidence against FP64 gradients
fusheng-ji 507c9ad
[WS2][CUDA][MiniMax-H3] tp_adaln_3mod: column-parallel AdaLN projecti…
fusheng-ji ef0c9ee
[WS2][MiniMax-H3] tp_adaln_3mod: 8 x B200 NCCL evidence report and fi…
fusheng-ji e4b8a62
fix(h3): store norm_out.norm and 1 + scale in BF16 in the final AdaLN…
fusheng-ji dcbd55b
docs(h3): regenerate final AdaLN evidence with the BF16 norm_out golden
fusheng-ji a05952f
Merge inherited RFC 420 review fixes into PR #488
fusheng-ji 7203797
Merge inherited RFC 420 review fixes into PR #489
fusheng-ji 61c80d7
Merge inherited RFC 420 review fixes into PR #493
fusheng-ji be7c6a9
Merge the H3 prior-art runner into PR #488
fusheng-ji c678545
Merge the H3 prior-art runner into PR #489
fusheng-ji 5d0c7d5
Merge the H3 prior-art runner into PR #493
fusheng-ji b4c9fd5
Merge the H3 prior-art runner fix into PR #488
fusheng-ji 6231a8c
Merge the H3 prior-art runner fix into PR #489
fusheng-ji 09625d2
Merge the H3 prior-art runner fix into PR #493
fusheng-ji 052f5cb
Merge the H3 prior-art figure fix into PR #488
fusheng-ji 875e2a1
Merge the H3 prior-art figure fix into PR #489
fusheng-ji 3a14608
Merge the H3 prior-art figure fix into PR #493
fusheng-ji 5f4253d
Merge the H3 prior-art figure fix into PR #488
fusheng-ji 49287fc
Merge the H3 prior-art figure fix into PR #489
fusheng-ji b64f915
Merge the H3 prior-art figure fix into PR #493
fusheng-ji dd35c14
docs(h3): gate_residual vs existing implementations (B200, 4010854)
fusheng-ji 8805329
docs(h3): final_adaln_out vs existing implementations (B200, 03da729)
fusheng-ji 2d1b9d0
Merge the H3 prior-art evidence into PR #488
fusheng-ji 64fb1fa
Merge the H3 prior-art evidence into PR #489
fusheng-ji f841e5d
Merge the H3 prior-art evidence into PR #493
fusheng-ji 1d1e739
Merge the H3 prior-art figure layout fix into PR #488
fusheng-ji 8136ac3
Merge the H3 prior-art figure layout fix into PR #489
fusheng-ji 6f364d7
Merge the H3 prior-art figure layout fix into PR #493
fusheng-ji a9ed126
Fix H3 native validation, backward timing, and rank cleanup
fusheng-ji 72ed970
Regenerate gate and final AdaLN backward-only B200 evidence
fusheng-ji c3fad21
Merge test-h3 refactor and migrate H3 kernels, tools, and tests
fusheng-ji e004499
Merge test-h3 refactor and migrate H3 kernels, tools, and tests
fusheng-ji fdc58d4
Merge migrated H3 dependency PR #487
fusheng-ji 2737567
Merge migrated H3 dependency PR #488
fusheng-ji c41d03b
Merge test-h3 refactor and migrate H3 kernels, tools, and tests
fusheng-ji 916ad44
Merge migrated H3 dependency PR #489
fusheng-ji 6682e76
Merge migrated validation documentation from PR #487
fusheng-ji 5ae2256
Merge migrated validation documentation from PR #488
fusheng-ji 8686d2c
Merge migrated validation documentation from PR #489
fusheng-ji f75ff23
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji 2a72708
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji ebd2166
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji a746bff
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji 3bbcca4
evidence(h3): gate_residual direct bitwise comparison on B200
fusheng-ji 8cb4abe
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji 2809990
evidence(h3): final_adaln_out direct bitwise comparison on B200
fusheng-ji 815e0be
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji 3310212
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji 3b618cd
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji fb22c4c
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji 2c27639
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji a43b952
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji 904a70e
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji 9c76b32
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji 76542aa
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji ac1b95d
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji 81741e9
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji e7d1a7f
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji a4bc99f
fix(h3): round the final_adaln_out goldens' activation from the FP32 …
fusheng-ji 357c151
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji d8a4a69
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji a7605c6
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji 7d716f2
evidence(h3): regenerate final_adaln_out report and chain replay afte…
fusheng-ji ddca8f9
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji 76594af
evidence(h3): regenerate this branch's final_adaln_out report after t…
fusheng-ji 9592623
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji 578f9db
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji c9e350a
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji 9b95c4a
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji de6a224
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji a65a02b
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji a8e5901
docs: move the measurement outputs out of the pull request
fusheng-ji 39fb03d
docs: move the measurement outputs out of the pull request
fusheng-ji c469b72
docs: move the measurement outputs out of the pull request
fusheng-ji 3801808
docs: point commit hashes at the rewritten history
fusheng-ji 428baa1
docs: point commit hashes at the rewritten history
fusheng-ji 4530173
docs: point commit hashes at the rewritten history
fusheng-ji 1cacd95
Merge test-h3 into feat/h3-adaln-gate-residual
fusheng-ji 8624852
Merge test-h3 into feat/h3-final-adaln-out
fusheng-ji 59377b2
Merge test-h3 into feat/h3-tp-adaln-3mod
fusheng-ji c08d9ee
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji 0011a97
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji d004996
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji 9c9ab15
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji 09c670b
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji 9fe0daf
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji 669513d
fix(h3): keep the gate-residual forward out of the timed backward
fusheng-ji 8e5ae90
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji e5318ad
fix(h3): do not ask for the checkpoint when the gate-residual evidenc…
fusheng-ji 7ed723a
Merge feat/h3 parent (#487) into #488
fusheng-ji 174a7e1
Merge parent (#488) into #489
fusheng-ji c0cc462
Merge parent (#489) into #493
fusheng-ji 4cde743
Merge parent (#487) into #488
fusheng-ji 5e0775b
Merge parent (#488) into #489
fusheng-ji 6d0a8d9
Merge parent (#489) into #493
fusheng-ji 37f54db
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji 3682e65
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji 239ef80
fix(h3): assert the gate row in the native kernels and check the back…
fusheng-ji 1d26287
fix(h3): check the position repeat in final_adaln_out backward and ke…
fusheng-ji 47f4f8c
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji a2d0674
docs(h3): gate-residual latencies from the backward-only rerun
fusheng-ji 70c3d19
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji 337ee60
docs(h3): final_adaln_out latencies from the backward-only rerun
fusheng-ji 6aaca7d
Merge parent (#489) into #493
fusheng-ji d46cbe5
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji 1857fa6
fix(h3): check the gate backward's tile metadata and lengths, and sca…
fusheng-ji 9cde909
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji fcf0a58
fix(h3): run the final AdaLN backward only for the inputs that need a…
fusheng-ji 95b5fc8
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji b3747d9
fix(h3): refuse pre-SM80 before the first collective, check the TP ta…
fusheng-ji 53ba838
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji 1703afc
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji e5d63c1
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji 2084242
Merge feat/h3-rmsnorm into feat/h3-adaln-gate-residual
fusheng-ji ab407b3
fix(h3): reject gate tables whose rows overlap, and state the residua…
fusheng-ji 0923904
Merge feat/h3-adaln-gate-residual into feat/h3-final-adaln-out
fusheng-ji af608e6
Merge feat/h3-final-adaln-out into feat/h3-tp-adaln-3mod
fusheng-ji 9aa200d
docs(h3): document the det_linear partial and fold stubs used by the …
fusheng-ji d20d767
Merge #487 round-5 fixes into #488
fusheng-ji 60e7785
fix(h3): return no residual gradient for a residual that needs none
fusheng-ji b58b112
Merge #488 round-5 fixes into #489
fusheng-ji b64c023
Merge #489 round-5 fixes into #493
fusheng-ji 22a3c79
Merge upstream test-h3 into feat/h3-adaln-gate-residual
fusheng-ji 5a46bee
Merge feat/h3 round-6 upstream sync (#488) into #489
fusheng-ji a4a0dad
Merge feat/h3 round-6 upstream sync (#489) into #493
fusheng-ji 7b85941
fix(h3): skip the weight and bias gradients of a frozen tensor-parall…
fusheng-ji 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
Some comments aren't visible on the classic Files Changed page.
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
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.
H3_BITWISE_SOURCESandH3_KERNELS_DEFINEare only referenced inside the CUDA branch, butH3_BITWISE_SOURCESis added underif not is_rocm:while the define is appended underif not is_rocm and not use_fast_math:in a different spot. Please double-check the guard macro incsrc/bindings/ops.cppis spelled exactlyKERNEL_ALIGN_WITH_H3_KERNELS; if the binding guard name differs fromH3_KERNELS_DEFINE, the bindings will never be compiled in even in valid non-fast-math CUDA builds, silently dropping the H3 operators while the.cusources are still compiled. A build test that asserts the define is emitted does not catch a name mismatch between the flag and the#ifdefinops.cpp.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.
Fixed in c0b4cd8 (#483, where the build file lives; this PR contains it).
build_tools/extensions.pynow computes oneh3_enabledpredicate that gates both thecsrc/cuda/h3sources and-DKERNEL_ALIGN_WITH_H3_KERNELS, so the bindings cannot outlive the kernels.NVCC_PREPEND_FLAGS,NVCC_APPEND_FLAGSandTORCH_NVCC_FLAGScarrying--use_fast_math,--ftz=trueor--prec-div/--prec-sqrt=falseleave the H3 kernels out with a warning, likeKERNEL_ALIGN_USE_FAST_MATH=1, and dispatch falls back to the PyTorch reference. Tests:test_relaxed_math_nvcc_flags_from_the_environment_exclude_bitwise_h3_kernels(three variables) andtest_unrelated_nvcc_flags_keep_the_h3_kernels. The#ifincsrc/bindings/ops.cppis spelledKERNEL_ALIGN_WITH_H3_KERNELS, the same string asH3_KERNELS_DEFINE, and the existing build test asserts the define is emitted.