support both qnn x64 and arm64ec stages in py packaging pipeline (#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.
This commit is contained in:
George Wu 2024-08-27 15:07:30 -07:00 коммит произвёл GitHub
Родитель d2a1b7a353
Коммит 23f3912334
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
3 изменённых файлов: 24 добавлений и 3 удалений

Просмотреть файл

@ -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
@ -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 }}

Просмотреть файл

@ -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
@ -512,8 +517,8 @@ stages:
PYTHON_VERSION: '3.11'
BUILD_PY_PARAMETERS: ${{ parameters.build_py_parameters }}
- ${{ if eq(parameters.enable_windows_x64_qnn, true) }}:
- stage: Python_Packaging_Windows_x64_QNN
- ${{ if eq(parameters.enable_windows_arm64ec_qnn, true) }}:
- stage: Python_Packaging_Windows_arm64ec_QNN
dependsOn: []
jobs:
- template: py-win-arm64ec-qnn.yml
@ -521,3 +526,13 @@ stages:
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-x64-qnn.yml
parameters:
MACHINE_POOL: 'Onnxruntime-QNNEP-Windows-2022-CPU'
QNN_SDK: ${{ parameters.qnn_sdk_version }}
BUILD_PY_PARAMETERS: ${{ parameters.build_py_parameters }}

Просмотреть файл

@ -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