-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[QNN EP] Enhance unique name generator for node and tensor names #25702
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
[QNN EP] Enhance unique name generator for node and tensor names #25702
Conversation
|
/azp run Linux QNN CI Pipeline,Win_TRT_Minimal_CUDA_Test_CI,Windows ARM64 QNN CI Pipeline,Windows GPU Doc Gen CI Pipeline,Windows x64 QNN CI Pipeline |
|
Azure Pipelines successfully started running 5 pipeline(s). |
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.
Pull Request Overview
This PR enhances the QNN execution provider by introducing a unique name generator utility to prevent node and tensor name conflicts. The implementation replaces hardcoded name generation with a centralized utility that automatically appends counters to ensure uniqueness.
- Introduces
GetUniqueNameutility functions for generating unique node and tensor names - Replaces hardcoded name concatenations throughout the codebase with centralized name generation
- Updates function calls from
GetNodeNametoGetUniqueNameto utilize the new naming system
Reviewed Changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| qnn_utils.h | Declares new GetUniqueName functions to replace GetNodeName |
| qnn_utils.cc | Implements unique name generation logic with static counter and removes old GetNodeName |
| Multiple fusion files | Updates node name generation to use new unique naming utilities |
| Multiple op builders | Replaces hardcoded name generation with GetUniqueName calls |
| qnn_model_wrapper.cc | Updates node creation to use unique names and fixes typo |
|
please fix build error |
Will do. Sync issue. :( |
646e020 to
7cc7abb
Compare
|
/azp run Linux QNN CI Pipeline,Win_TRT_Minimal_CUDA_Test_CI,Windows ARM64 QNN CI Pipeline,Windows GPU Doc Gen CI Pipeline,Windows x64 QNN CI Pipeline |
|
Azure Pipelines successfully started running 5 pipeline(s). |
HectorSVC
left a comment
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.
![]()
Follow up for #25702. Improve thread safety.
…rosoft#25702) ### Description Enhance unique name generator for node and tensor names ### Motivation and Context QNN requires node name to be unique. We've seen many instance of QNN node name conflicts results in failures on QNN graph finalizations. However, currently it's hard-coded and thus error-prone, this change adds utility to generate unique names used in QNN nodes and intermediate I/O tensors.
Follow up for microsoft#25702. Improve thread safety.
- pick microsoft#25584 - pick microsoft#25635 - pick microsoft#25673 - pick microsoft#25702 - pick microsoft#25738
Description
Enhance unique name generator for node and tensor names
Motivation and Context
QNN requires node name to be unique. We've seen many instance of QNN node name conflicts results in failures on QNN graph finalizations. However, currently it's hard-coded and thus error-prone, this change adds utility to generate unique names used in QNN nodes and intermediate I/O tensors.