- Notifications
You must be signed in to change notification settings - Fork26.3k
[cuDNN][SDPA][Convolution] Expose cuDNN runtime version in CUDA hooks#167111
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
pytorch-botbot commentedNov 5, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
🔗 Helpful Links🧪 See artifacts and rendered test results athud.pytorch.org/pr/167111
Note: Links to docs will display an error until the docs builds have been completed. ✅ You can merge normally! (1 Unrelated Failure)As of commitcaa7a77 with merge base5c63946 ( FLAKY - The following job failed but was likely due to flakiness present on trunk:This comment was automatically generated by Dr. CI and updates every 15 minutes. |
| longversionCUDART()constoverride; | ||
| longversionCuDNN()constoverride; | ||
| longversionRuntimeCuDNN()constoverride; | ||
| longversionCuDNNFrontend()constoverride; |
Skylion007Nov 5, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
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.
Why does Runtime CUDNN frontend matter? It cannot be changed right? It's a compile time include header?
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.
I sidecar'd this change in as we'll need it in the near future for SDPA issues that require a cuDNN frontend version to be available for gating. In theorysdp_utils.cpp could be able to access this but I'm not sure I want to include that directly.
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.
Can the runtime version be different for cudNNFronteEnd or should it be constexpr?
| staticboolhasCuDNN() { | ||
| returndetail::getCUDAHooks().hasCuDNN(); | ||
| } | ||
| staticlongversionCuDNN() { |
Skylion007Nov 5, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
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.
If this is really compile time? Why no constexpr? Would enable if constexpr logic that would simplify critical code paths in CUDNN dispatch.
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.
yes see
| return CUDNN_VERSION; |
other uses of
CUDNN_VERSION in the file are macros, etc.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.
Yeah, if they are macros they should be propogated with constexpr then. :)
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.
Yeah, CUDNN_FRONTNED has it's equivalent function as constexpr
eqy commentedNov 5, 2025
@Skylion007 are we building with C++20 only? not sure if |
eqy commentedNov 6, 2025
@pytorchmergebot merge |
pytorchmergebot commentedNov 6, 2025
Merge startedYour change will be merged once all checks pass (ETA 0-4 Hours). Learn more about merging in thewiki. Questions? Feedback? Please reach out to thePyTorch DevX Team |
Skylion007 commentedNov 6, 2025
Ah, wasn't aware of that limitation. Not yet, no. :( |
pytorchmergebot commentedNov 6, 2025
Merge failedReason: 1 jobs have failed, first few of them are:trunk / linux-jammy-cuda12.8-py3.10-gcc11 / test (default, 5, 5, lf.linux.g6.4xlarge.experimental.nvidia.gpu) Details for Dev Infra teamRaised byworkflow job |
eqy commentedNov 7, 2025
@pytorchmergebot merge |
pytorchmergebot commentedNov 7, 2025
Merge startedYour change will be merged once all checks pass (ETA 0-4 Hours). Learn more about merging in thewiki. Questions? Feedback? Please reach out to thePyTorch DevX Team |
eqy commentedNov 7, 2025
@pytorchbot cherry-pick --onto release/2.9 --fixes "cuDNN conv3d performance workaround" -c regression |
…#167111)cuDNN dispatching heuristics rely on versions checks but currently only that compile-time version is exposed, if we want to allow users toresolve#166643 on their end by updating their cuDNN version locally we need to check the runtime version rather than compile-time version.Pull Requestresolved:#167111Approved by:https://github.com/Skylion007(cherry picked from commite678450)
pytorchbot commentedNov 7, 2025
Cherry picking#167111The cherry pick PR is at#167327 and it is linked with issue cuDNN conv3d performance workaround. The following tracker issues are updated: Details for Dev Infra teamRaised byworkflow job |
…#167327)[cuDNN][SDPA][Convolution] Expose cuDNN runtime version in CUDA hooks (#167111)cuDNN dispatching heuristics rely on versions checks but currently only that compile-time version is exposed, if we want to allow users toresolve#166643 on their end by updating their cuDNN version locally we need to check the runtime version rather than compile-time version.Pull Requestresolved:#167111Approved by:https://github.com/Skylion007(cherry picked from commite678450)Co-authored-by: Eddie Yan <eddiey@nvidia.com>
…pytorch#167111)cuDNN dispatching heuristics rely on versions checks but currently only that compile-time version is exposed, if we want to allow users toresolvepytorch#166643 on their end by updating their cuDNN version locally we need to check the runtime version rather than compile-time version.Pull Requestresolved:pytorch#167111Approved by:https://github.com/Skylion007
Uh oh!
There was an error while loading.Please reload this page.
cuDNN dispatching heuristics rely on versions checks but currently only that compile-time version is exposed, if we want to allow users toresolve#166643 on their end by updating their cuDNN version locally we need to check the runtime version rather than compile-time version.
cc@csarofeen@ptrblck@xwang233@jgong5@mingfeima@XiaobingSuper@sanchitintel@ashokei@jingxu10@jerryzh168@aditew01