-
Notifications
You must be signed in to change notification settings - Fork 273
1.25.0 rc #300
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
Merged
1.25.0 rc #300
Changes from all commits
Commits
Show all changes
36 commits
Select commit
Hold shift + click to select a range
1c3d490
test/python: cap peak GPU memory via PYTORCH_CUDA_ALLOC_CONF (#247)
vedaanta 7ee0491
Fix DSA link in README.md
Anerudhan b4fb358
Remove stale H200 benchmark artifacts (#252)
hwanseoc cb74feb
Change profile_pass from 'fwd' to 'both'
Vinnie6167 8ec19b9
Bump the develop to 1.25.0
Anerudhan 3f72bd4
Fix varpack-template lifecycle bugs + add defensive checks
Anerudhan 5bff9bd
Clear deserialize-owned containers on re-deserialize
Anerudhan 02d2471
Add row-scale support to grouped GEMM quant
zianglih 1f8cde3
Tighten row-scale grouped GEMM quant tests
zianglih 7cd11d7
feat(python): add get_engine_and_knobs_at_index for structured plan pβ¦
YangXu1990uiuc 1ad529d
Update SDPA Benchmarking Artifacts (#265)
brandonfzhang e851cc8
Adding coderabbit review guide (initial template)
Anerudhan f06a076
fix: allow overriding libcudart selection via CUDNN_FRONTEND_CUDART_Lβ¦
Anerudhan 28462c3
Clean up guardword-flagged comments (xmma path, gitlab URL, P4 label,β¦
liujane-dev 4d65508
remove_9.99_version_tag
yanqinz2 69e5b42
add_protection_flags
yanqinz2 c85a306
fix(windows): consolidate getenv access and fix C4996/C4005 on MSVC
Anerudhan 1a2799b
fix(shim): warn instead of throwing when multiple libcudart librariesβ¦
Anerudhan f90a2ec
Unblock SDPA tests and promote FP8 ragged backward to L0 (#275)
hwanseoc 1770caf
Add per-expert reduction (group_offset) for MoE grouped GEMM
yanqinz2 035b520
Fix the 9.99 bound
Anerudhan d214a11
Skip flexible-graph SDPA bwd sample on SM120 and above (#284)
hwanseoc 3542eb0
1
yanqinz2 28b5837
Add pre-commit hooks (#286)
Anerudhan dbcc4a8
Skip TensorIR MemBound / compile-time-const samples on consumer Blackβ¦
YangXu1990uiuc 2965e7a
Support cu_seqlens in unified SDPA (#266)
egilliam-nv 87f571b
use static signature for sfd_col_d_srelu_tensor (#281)
jiemingz 3e2b8ec
DSA: fix CuTe DSL guards and add SM90 indexer forward (#263)
jiayus-nvidia 1f837f9
Fix formatting issues from #263 (#294)
Anerudhan 436643d
Support static linking of libcudnn (#182)
take-cheeze 601b84d
make dgeglu config values compile time constants instead of runtime vβ¦
saltyminty 3d4aef4
bench: add autoregressive video DiT SDPA config + GB200/GB300 resultsβ¦
Anerudhan d6e3edc
- Update the Black version. (#296)
Anerudhan 65f40b9
Add ragged offset multiplier support (#290)
egilliam-nv 259e895
Merge develop into 1.25.0-rc
Anerudhan e8e219d
Fix unused ragged offset version error variable (#299)
shraiysh 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| # Repository-specific override | ||
| reviews: | ||
| profile: chill | ||
| auto_review: | ||
| enabled: true # Enable auto-review for this repository | ||
| path_instructions: | ||
| - path: "python/cudnn/**" | ||
| instructions: | | ||
| - Focus on documentation. | ||
| - Focus on whether there are test cases in test/python/fe_api | ||
| - path: "include/**" | ||
| instructions: | | ||
| - Make sure the cpp code has good quality | ||
| - Make sure the dynamic and static cudnn versions are met. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| repos: | ||
| - repo: https://github.com/pre-commit/mirrors-clang-format | ||
| rev: v21.1.6 | ||
| hooks: | ||
| - id: clang-format | ||
| types_or: [c++, c, cuda] | ||
| - repo: https://github.com/psf/black-pre-commit-mirror | ||
| rev: 26.3.1 | ||
| hooks: | ||
| - id: black | ||
| name: black | ||
| description: "Black: The uncompromising Python code formatter" | ||
| entry: black | ||
| language: python | ||
| minimum_pre_commit_version: 2.9.2 | ||
| require_serial: true | ||
| types_or: [python, pyi] | ||
| args: ["--line-length", "160"] | ||
| - id: black-jupyter | ||
| name: black-jupyter | ||
| description: | ||
| "Black: The uncompromising Python code formatter (with Jupyter Notebook support)" | ||
| entry: black | ||
| language: python | ||
| minimum_pre_commit_version: 2.9.2 | ||
| require_serial: true | ||
| types_or: [python, pyi, jupyter] | ||
| additional_dependencies: [".[jupyter]"] | ||
| args: ["--line-length", "160"] |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| # Acknowledgements | ||
|
|
||
| ## Flash-Attention and Tri Dao | ||
|
|
||
| cuDNN's attention stack has been shaped by the Flash-Attention project. | ||
| Many of the techniques that define a modern fused, IO-aware attention | ||
| kernel β the online-softmax recurrence, the tile schedule, the | ||
| warp-specialized producer / consumer split, the asynchronous epilogue β | ||
| were articulated and shipped early by Tri Dao and the Flash-Attention | ||
| contributors, and cuDNN's SDPA engines have benefited from studying their | ||
| kernels and numerics across successive generations. | ||
|
|
||
| We work in close collaboration with Tri Dao and the Flash-Attention project, | ||
| and we are grateful for the openness with which the techniques, the kernels, | ||
| and the rationale behind them have been shared. Many of the optimizations | ||
| that make cuDNN attention competitive today were absorbed directly from that | ||
| work, and were possible only because the underlying ideas β and the reference | ||
| implementations β were available to study, profile, and adapt. The current | ||
| generation of cuDNN attention reaches rough performance parity with | ||
| Flash-Attention 4, and that parity is, in large part, a reflection of how | ||
| much of FAv4's thinking now lives inside cuDNN. | ||
|
|
||
| This is a collaboration we value, and one we hope to keep deepening. | ||
|
|
||
| ## Techniques absorbed from Flash-Attention 4 | ||
|
|
||
| The following list is not meant for a landing page β we surface it here for | ||
| anyone who asks where specific ideas in cuDNN attention came from. Each of | ||
| these originated in (or was first shipped by) the Flash-Attention project, | ||
| and was subsequently adapted inside cuDNN across architectures (Ampere | ||
| through Blackwell) and across data types (fp16, bf16, fp8): | ||
|
|
||
| - **Rescale-threshold skipping.** Avoiding the per-tile output rescale when | ||
| the running-max update is small enough that the correction factor is | ||
| numerically a no-op. Adapted to cuDNN's softmax recurrence and extended | ||
| to additional dtypes and tile shapes. | ||
| - **Skip correction.** Elision of the second-pass correction when a tile | ||
| cannot move the running max β applied across architectures. | ||
| - **MUFU exp2 emulation.** The fast-path approximation of `exp2` used to | ||
| hide MUFU latency in the softmax inner loop, re-implemented across | ||
| architectures and dtypes. | ||
|
|
||
| In each case the core insight is the Flash-Attention team's; cuDNN's | ||
| contribution is the porting, generalization, and integration into the | ||
| heuristics, code generation, and graph layer that ship in the library. | ||
|
|
||
| ## Citation | ||
|
|
||
| If you use cuDNN's SDPA / Flash-Attention engines in your work, please cite | ||
| the foundational Flash-Attention papers in addition to any cuDNN reference: | ||
|
|
||
| ```bibtex | ||
| @inproceedings{dao2022flashattention, | ||
| title={Flash{A}ttention: Fast and Memory-Efficient Exact Attention with {IO}-Awareness}, | ||
| author={Dao, Tri and Fu, Daniel Y. and Ermon, Stefano and Rudra, Atri and R{\'e}, Christopher}, | ||
| booktitle={Advances in Neural Information Processing Systems (NeurIPS)}, | ||
| year={2022} | ||
| } | ||
|
|
||
| @inproceedings{dao2023flashattention2, | ||
| title={Flash{A}ttention-2: Faster Attention with Better Parallelism and Work Partitioning}, | ||
| author={Dao, Tri}, | ||
| booktitle={International Conference on Learning Representations (ICLR)}, | ||
| year={2024} | ||
| } | ||
| ``` | ||
|
|
||
| Upstream source: <https://github.com/Dao-AILab/flash-attention>. |
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.
Uh oh!
There was an error while loading. Please reload this page.