Repository navigation
feat(hipdnn): expose Graph::is_supported_ext() on the cuDNN compatibility shim - #11686
Merged
mousdahl-amd merged 1 commit intoSep 4, 2026
Merged
Conversation
✅ All Policy Checks Passed
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🎉 All checks passed! This PR is ready for review. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #11686 +/- ##
========================================
Coverage 64.16% 64.16%
========================================
Files 2826 2826
Lines 469876 469876
Branches 69393 69393
========================================
+ Hits 301460 301461 +1
Misses 147409 147409
+ Partials 21007 21006 -1
*This pull request uses carry forward flags. Click here to find out more. 🚀 New features to boost your workflow:
|
mousdahl-amd
marked this pull request as ready for review
September 3, 2026 21:54
BrianHarrisonAMD
approved these changes
Sep 3, 2026
mousdahl-amd
deleted the
users/mousdahl-amd/hipdnn-cudnn-supported-api
branch
September 4, 2026 02:31
Contributor
TheRock Submodule Bump ActivityNewest first
|
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.
Summary
JIRA ID: ALMIOPEN-2045
Exposes hipDNN's
Graph::is_supported_ext()on the cuDNN-compatibility shim'sGraph, so hipified consumers can run the lightweight "can any engine execute thisgraph?" probe without dropping to the native
hipdnn_frontendAPI. This lands insupport of the PyTorch integration, which needs a cheap applicability check before
committing to plan creation and build. The method has no cuDNN frontend equivalent;
it is documented as a deliberate hipDNN extension rather than a compatibility
divergence.
Risk Assessment
Risk 2. Additive, header-only, and behind the opt-in
HIPDNN_ENABLE_CUDNN_COMPATIBILITYoption (default OFF). No existing shim method changes behavior: the only edit to
existing code extracts the non-FALLBACK heuristic-mode warning out of
create_execution_plansinto a shared private helper, byte-for-byte identical warningtext. Host-only; no kernel, dispatch, default-selection, or support-surface change.
ASIC Coverage
Arch-independent. The change forwards to an existing native method and adds host-only
unit tests driven by the mock backend; no device code, engine selection, or default
path is touched. Passing hipDNN PR CI is sufficient — both superbuild lanes configure
-DHIPDNN_ENABLE_CUDNN_COMPATIBILITY=ON, so the new tests run there. No multi-archsweep required.
Testing Summary
GRAPH_NOT_SUPPORTEDwhenno engine config is returned, non-FALLBACK heuristic modes accepted, owned-tensor
validation before any backend call, recorded-setter-error propagation, and the
node-less-graph case (supported, and left built).
create_execution_planswarning-helperextraction.
Testing Checklist
hipdnn_frontend_tests.exe --gtest_filter='TestCudnnShimGraphSupportCheck.*'- Status: Passed (6/6)hipdnn_frontend_tests.exe --gtest_filter='TestCudnnShim*'- Status: Passed (157/157)hipdnn_frontend_tests.exe- Status: Passed (2299/2299)clang-tidy -p build --header-filter='graph_wrapper\.h$' projects/hipdnn/frontend/tests/TestCudnnShimGraphSupportCheck.cpp- Status: Passed (0 diagnostics)pre-commit run --files <changed>- Status: PassedTechnical Changes
graph_wrapper.h: adderror_t is_supported_ext(cudnnHandle_t, const std::vector<HeurMode_t>& = {FALLBACK}).Guard order matches the rest of the wrapper (mode warning -> recorded-error guard ->
validateOwnedTensors()-> forward to the native graph). A node-less graph hasnothing to probe and is reported supported, matching the existing
check_support()/build_operation_graph()convention for that state.OpGraphBuilt(the native call auto-builds) but neverregresses a later stage: the probe creates no plans and invalidates none, so an
unconditional assignment would have made a post-
build_plans()probe forcebuild_plan_at_indexto re-create plans.warnUnhonoredHeuristicModes(),now shared with
create_execution_plans(the documented "modes accepted but nothonored" divergence applies identically to the probe).
KNOWN_DIVERGENCES.md: new "hipDNN extensions" section documenting the method andthat source which must also compile against real cuDNN cannot use it.
TestCudnnShimGraphSupportCheck.cpp, registered under the existingHIPDNN_ENABLE_CUDNN_COMPATIBILITYgenerator expression infrontend/tests/CMakeLists.txt.