Skip to content

Commit

Permalink
support both qnn x64 and arm64ec stages in py packaging pipeline (mic…
Browse files Browse the repository at this point in the history
…rosoft#21880)

both arm64ec and x64 packages are needed.  
x64 is needed for offline context binary generation
and arm64ec is needed for interop with python packages that don't have
prebuilt arm64 packages and only have x64.
  • Loading branch information
jywu-msft authored Aug 27, 2024
1 parent d2a1b7a commit 23f3912
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ parameters:
type: boolean
default: true

- name: enable_windows_arm64ec_qnn
displayName: 'Whether Windows ARM64EC package with QNN EP is built.'
type: boolean
default: true

- name: enable_windows_x64_qnn
displayName: 'Whether Windows x86_64 package with QNN EP is built.'
type: boolean
Expand Down Expand Up @@ -73,6 +78,7 @@ stages:
enable_mac_cpu: ${{ parameters.enable_mac_cpu }}
enable_linux_arm: ${{ parameters.enable_linux_arm }}
enable_windows_arm64_qnn: ${{ parameters.enable_windows_arm64_qnn }}
enable_windows_arm64ec_qnn: ${{ parameters.enable_windows_arm64ec_qnn }}
enable_windows_x64_qnn: ${{ parameters.enable_windows_x64_qnn }}
build_py_parameters: ${{ parameters.build_py_parameters }}
cmake_build_type: ${{ parameters.cmake_build_type }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@ parameters:
type: boolean
default: true

- name: enable_windows_arm64ec_qnn
displayName: 'Whether Windows ARM64EC package with QNN EP is built.'
type: boolean
default: true

- name: enable_windows_x64_qnn
displayName: 'Whether Windows x86_64 package with QNN EP is built.'
type: boolean
Expand Down Expand Up @@ -512,11 +517,21 @@ stages:
PYTHON_VERSION: '3.11'
BUILD_PY_PARAMETERS: ${{ parameters.build_py_parameters }}

- ${{ if eq(parameters.enable_windows_arm64ec_qnn, true) }}:
- stage: Python_Packaging_Windows_arm64ec_QNN
dependsOn: []
jobs:
- template: py-win-arm64ec-qnn.yml
parameters:
MACHINE_POOL: 'Onnxruntime-QNNEP-Windows-2022-CPU'
QNN_SDK: ${{ parameters.qnn_sdk_version }}
BUILD_PY_PARAMETERS: ${{ parameters.build_py_parameters }}

- ${{ if eq(parameters.enable_windows_x64_qnn, true) }}:
- stage: Python_Packaging_Windows_x64_QNN
dependsOn: []
jobs:
- template: py-win-arm64ec-qnn.yml
- template: py-win-x64-qnn.yml
parameters:
MACHINE_POOL: 'Onnxruntime-QNNEP-Windows-2022-CPU'
QNN_SDK: ${{ parameters.qnn_sdk_version }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ jobs:
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: ONNXRuntime python wheel'
inputs:
ArtifactName: onnxruntime_qnn
ArtifactName: onnxruntime_qnn_x64

- script: |
7z x *.whl
Expand Down

0 comments on commit 23f3912

Please sign in to comment.