Skip to content

Conversation

@qti-jkilpatrick
Copy link
Contributor

Description

This change adds support for the latest Qualcomm NPUs with the v81 architecture.

Specifically:

  • Include v81 stub/skel/cat files in build artifacts.
  • Disable tests that are broken on v79 and v81.

* Include v81 stub/skel/cat files in build artifacts.
* Disable tests that are broken on v79 and v81.
@qti-jkilpatrick qti-jkilpatrick marked this pull request as ready for review October 17, 2025 16:35
@edgchen1
Copy link
Contributor

/azp run Windows ARM64 QNN CI Pipeline

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@edgchen1
Copy link
Contributor

was v81 support only added in a recent version of the QNN SDK? if so, should we attempt to keep supporting building with older SDK versions or just increase the minimum required SDK version?

@qti-jkilpatrick
Copy link
Contributor Author

was v81 support only added in a recent version of the QNN SDK? if so, should we attempt to keep supporting building with older SDK versions or just increase the minimum required SDK version?

Based on what I know, I think bumping the minimum required version is the way to go. A hard build failure is preferable to accidentally incomplete packages. Given that there isn't any testing of this repo or its build products on real Qualcomm devices, such an error would likely go undetected during the release process (similar to the 1.22.2 wheels reverting to x64 from ARM64x). Of course we test on real hardware on our internal fork, but the packaging parts of the build are not shared.

An alternative is to make more parts of the build aware of what's in the various QNN versions, but this further complicates an already complicated system. This is especially challenging/risky because I can't test any of the affected code. What I do not know are the consequences for you of raising the minimum version other than having to revert two changes instead of one if the latest QNN version ends up needing to be yanked. If they're dire, I would be happy to investigate a more complex change.

@edgchen1
Copy link
Contributor

Based on what I know, I think bumping the minimum required version is the way to go. A hard build failure is preferable to accidentally incomplete packages.

this sounds good to me. could we make it an explicit hard failure with a clear error message? e.g.,

static_assert(QNN_API_VERSION_MAJOR > 2 ||
              (QNN_API_VERSION_MAJOR == 2 && QNN_API_VERSION_MINOR >= <required minor version>),
              "Minimum required QNN SDK version is ...")

* Add static_assert to explicitly check that QAIRT 2.39+ in use.
@qti-jkilpatrick
Copy link
Contributor Author

Based on what I know, I think bumping the minimum required version is the way to go. A hard build failure is preferable to accidentally incomplete packages.

this sounds good to me. could we make it an explicit hard failure with a clear error message? e.g.,

static_assert(QNN_API_VERSION_MAJOR > 2 ||
              (QNN_API_VERSION_MAJOR == 2 && QNN_API_VERSION_MINOR >= <required minor version>),
              "Minimum required QNN SDK version is ...")

Great idea, @edgchen1. Done.

@edgchen1
Copy link
Contributor

/azp run Linux QNN CI Pipeline,Win_TRT_Minimal_CUDA_Test_CI,Windows ARM64 QNN CI Pipeline,Windows GPU Doc Gen CI Pipeline

@azure-pipelines
Copy link

Azure Pipelines successfully started running 4 pipeline(s).

@edgchen1 edgchen1 enabled auto-merge (squash) November 19, 2025 00:43
@edgchen1 edgchen1 merged commit afcdd2b into microsoft:main Nov 19, 2025
103 of 115 checks passed
ankitm3k pushed a commit to intel/onnxruntime that referenced this pull request Nov 19, 2025
### Description

This change adds support for the latest Qualcomm NPUs with the v81
architecture.

Specifically:

* Include v81 stub/skel/cat files in build artifacts.
* Disable tests that are broken on v79 and v81.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants