You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds a skeleton rocKEclient project under dnn-providers/hip-kernel-provider/rocKE-client, gated by the rocKE provider flag from PR #8864. When enabled, the project builds and installs librocKEclient.so beside the existing hip-kernel-provider plugin so hipDNN can load it, while the skeleton reports no applicable engines yet. This is the start of the rocKE client library, and will be directly exposing the hipDNN provider API to start with. Later on rocKE client & rocKE provider will be split into two different projects.
JIRA ID : AICK-1470
Risk Assessment
Low risk. This adds opt-in provider build/install and plugin-loading infrastructure, plus a new engine ID, but it is gated off by default and the new plugin intentionally rejects all graphs so it does not change existing dispatch behavior unless explicitly enabled.
ASIC Coverage
ASIC-independent wiring only. The plugin currently performs no GPU execution, exposes no supported operation surface, and returns no applicable engines for every graph; passing standard PR CI plus the local opt-in build/load smoke tests is sufficient, with no dedicated multi-arch sweep required for this skeleton.
Testing Summary
Full opt-in provider configure/build/install validated that HIPKERNELPROVIDER_ENABLE_ROCKE=ON builds rocKE, rocKEclient, hipDNN, and hip-kernel-provider together.
Installed smoke tests validated the plugin metadata, engine ID query, non-applicability behavior, and hipDNN loading rocKEclient from the installed plugin directory.
Targeted unit coverage validates the registered ROCKE_ENGINE name/id mapping and default RocKEContext instantiation.
Adds the rocKE-client C++ project with version generation, plugin SDK wiring, rocKEclient shared-library target, and install rules for the hipDNN engine plugin directory.
Exposes the hipDNN engine plugin C API through hipdnn_plugin_sdk/EnginePluginImpl.inl using rocKEclient container, handle, context, settings, and skeleton engine types.
Registers a ROCKE_ENGINE ID and implements a skeleton engine that advertises the ID but returns no applicability and rejects workspace/context creation with HIPDNN_PLUGIN_STATUS_NOT_APPLICABLE.
Wires rocKE-client into the existing HIPKERNELPROVIDER_ENABLE_ROCKE block beside the merged rocKE project so both build as part of hip-kernel-provider only when the flag is enabled.
Adds unit and integration smoke tests, including explicit ROCKE_ENGINE registry coverage, default RocKEContext construction coverage, and an installed CTest entry that verifies hipDNN loads rocKEclient from the installed plugin path.
Error: Title does not follow Conventional Commits style. Expected: start with a valid type (feat, fix, docs, …). Desired format:type(optional-scope): short description
⛔ Forbidden Files
✅ Pass
—
🧪 Unit Test
❌ Fail
Error: Source/code files changed without an accompanying unit test. Expected: add at least one test file named like test_<name>.py / test_<name>.cpp (or <name>_test.*). Current: code file(s) changed: dnn-providers/hip-kernel-provider/rocKE-client/src/PluginDefines.hpp, dnn-providers/hip-kernel-provider/rocKE-client/src/PluginPublic.cpp, dnn-providers/hip-kernel-provider/rocKE-client/src/RocKEContainer.cpp, dnn-providers/hip-kernel-provider/rocKE-client/src/RocKEContainer.hpp, dnn-providers/hip-kernel-provider/rocKE-client/src/RocKEContext.hpp (+14 more); no test file found
🔎 pre-commit
✅ Pass
—
🚫 Draft PR
🔜 To Be Enabled
—
🚩 Feature Flag
🔜 To Be Enabled
—
📊 Code Coverage
🔜 To Be Enabled
—
⚠️2 policy check(s) failed. Please address the issues above before this PR can be Reviewed.
🚫 Please fix the failed policies
❌ PR Title/Description
❌ Unit Test
The Not ready to Review label was added to this PR. Once all policies pass, the label is removed automatically.
📖 Need help? See the Policy FAQ for details on every check and how to fix failures.
Check Status Details
🌿 Branch Name ✅ Pass —
📝 PR Title/Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ❌ Fail Error: Source/code files changed without an accompanying unit test. Expected: add at least one test file named like test_<name>.py / test_<name>.cpp (or <name>_test.*). Current: code file(s) changed: dnn-providers/hip-kernel-provider/rocKE-client/src/PluginDefines.hpp, dnn-providers/hip-kernel-provider/rocKE-client/src/PluginPublic.cpp, dnn-providers/hip-kernel-provider/rocKE-client/src/RocKEContainer.cpp, dnn-providers/hip-kernel-provider/rocKE-client/src/RocKEContainer.hpp, dnn-providers/hip-kernel-provider/rocKE-client/src/RocKEContext.hpp (+12 more); no test file found
🔎 pre-commit ✅ Pass —
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —
⚠️1 policy check(s) failed. Please address the issues above before this PR can be Reviewed.
🚫 Please fix the failed policies
❌ Unit Test
The Not ready to Review label was added to this PR. Once all policies pass, the label is removed automatically.
📖 Need help? See the Policy FAQ for details on every check and how to fix failures.
Removing the bot's, "not ready" flag since tests are present on all changed files.
Closing in favor of #8928, which moves the same commits onto the conventional users/bharriso/rocke-client-skeleton branch. The branch here was scuffed; superseded by #8928.
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
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
Adds a skeleton
rocKEclientproject underdnn-providers/hip-kernel-provider/rocKE-client, gated by the rocKE provider flag from PR #8864. When enabled, the project builds and installslibrocKEclient.sobeside the existing hip-kernel-provider plugin so hipDNN can load it, while the skeleton reports no applicable engines yet. This is the start of the rocKE client library, and will be directly exposing the hipDNN provider API to start with. Later on rocKE client & rocKE provider will be split into two different projects.JIRA ID : AICK-1470
Risk Assessment
Low risk. This adds opt-in provider build/install and plugin-loading infrastructure, plus a new engine ID, but it is gated off by default and the new plugin intentionally rejects all graphs so it does not change existing dispatch behavior unless explicitly enabled.
ASIC Coverage
ASIC-independent wiring only. The plugin currently performs no GPU execution, exposes no supported operation surface, and returns no applicable engines for every graph; passing standard PR CI plus the local opt-in build/load smoke tests is sufficient, with no dedicated multi-arch sweep required for this skeleton.
Testing Summary
HIPKERNELPROVIDER_ENABLE_ROCKE=ONbuilds rocKE, rocKEclient, hipDNN, and hip-kernel-provider together.rocKEclientfrom the installed plugin directory.ROCKE_ENGINEname/id mapping and defaultRocKEContextinstantiation.git commit.Testing Checklist
git commit -m "feat(hipdnn): add rocKEclient provider plugin skeleton" && git commit -m "test(hipdnn): cover rocKEclient skeleton wiring"- Status: Passedcmake --preset hip-kernel-provider -B build-rocke-client-full-install -DHIPKERNELPROVIDER_ENABLE_ROCKE=ON -DHIPKERNELPROVIDER_ENABLE_TESTS=OFF -DROCKE_CLIENT_ENABLE_TESTS=ON -DENABLE_ASM_SDPA_ENGINE=OFF -DENABLE_HIP_MLOPS_ENGINE=ON -DENABLE_CLANG_TIDY=OFF -DENABLE_CLANG_FORMAT=OFF- Status: Passedcmake --build build-rocke-client-full-install && cmake --install build-rocke-client-full-install --prefix build-rocke-client-full-install/install- Status: Passedctest --test-dir build-rocke-client-full-install/install/bin/rocKEclient --output-on-failure- Status: Passedcmake --preset hip-kernel-provider -B build-rocke-client-test-expansion -DHIPKERNELPROVIDER_ENABLE_ROCKE=ON -DHIPKERNELPROVIDER_ENABLE_TESTS=OFF -DROCKE_CLIENT_ENABLE_TESTS=ON -DENABLE_ASM_SDPA_ENGINE=OFF -DENABLE_HIP_MLOPS_ENGINE=ON -DENABLE_CLANG_TIDY=OFF -DENABLE_CLANG_FORMAT=OFF && cmake --build build-rocke-client-test-expansion --target hipdnn_data_sdk_tests rocke_client_tests rocke_client_integration_tests && ./build-rocke-client-test-expansion/bin/hipdnn_data_sdk_tests --gtest_filter='TestEngineNames.*' && ./build-rocke-client-test-expansion/bin/rocke_client_tests --gtest_filter='TestRocKEContext.*:TestRocKEContainer.*:TestRocKEEngine.*:TestPluginPublic.*' && ./build-rocke-client-test-expansion/bin/rocke_client_integration_tests- Status: PassedTechnical Changes
rocKE-clientC++ project with version generation, plugin SDK wiring,rocKEclientshared-library target, and install rules for the hipDNN engine plugin directory.hipdnn_plugin_sdk/EnginePluginImpl.inlusing rocKEclient container, handle, context, settings, and skeleton engine types.ROCKE_ENGINEID and implements a skeleton engine that advertises the ID but returns no applicability and rejects workspace/context creation withHIPDNN_PLUGIN_STATUS_NOT_APPLICABLE.rocKE-clientinto the existingHIPKERNELPROVIDER_ENABLE_ROCKEblock beside the merged rocKE project so both build as part of hip-kernel-provider only when the flag is enabled.ROCKE_ENGINEregistry coverage, defaultRocKEContextconstruction coverage, and an installed CTest entry that verifies hipDNN loadsrocKEclientfrom the installed plugin path.