mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-19 19:00:47 +00:00
### Description Remove protobuf submodule as a follow-up of #13523 "Android CI Pipeline" and "Zip-Nuget-Java-Nodejs Packaging Pipeline" need to be tested. ### Motivation and Context It is related to [AB#11753](https://aiinfra.visualstudio.com/6a833879-cd9b-44a4-a9de-adc2d818f13c/_workitems/edit/11753) Fixed [AB#14027](https://aiinfra.visualstudio.com/6a833879-cd9b-44a4-a9de-adc2d818f13c/_workitems/edit/14027)
105 lines
3.5 KiB
YAML
105 lines
3.5 KiB
YAML
parameters:
|
|
|
|
- name: QnnSdk
|
|
displayName: QNN SDK version
|
|
type: string
|
|
default: qnn-v2.8.0.230223123141_52150
|
|
values:
|
|
- qnn-v2.6.0.221227110525_42395
|
|
- qnn-v2.8.0.230223123141_52150
|
|
|
|
jobs:
|
|
- job: Build_QNN_EP
|
|
pool: onnxruntime-qnn-ubuntu-2004-cpu
|
|
timeoutInMinutes: 30
|
|
workspace:
|
|
clean: all
|
|
|
|
variables:
|
|
- name: QNN_SDK_ROOT
|
|
value: /data/qnnsdk/${{parameters.QnnSdk}}
|
|
|
|
steps:
|
|
- task: UsePythonVersion@0
|
|
displayName: Use Python $(pythonVersion)
|
|
inputs:
|
|
versionSpec: $(pythonVersion)
|
|
|
|
- script: sudo apt-get update -y && sudo apt-get install -y coreutils ninja-build
|
|
displayName: Install coreutils and ninja
|
|
|
|
- script: sudo chmod go+rw /dev/kvm
|
|
displayName: Update permissions to KVM
|
|
|
|
- script: |
|
|
export ANDROID_SDK_ROOT=/usr/local/lib/android/sdk
|
|
export ANDROID_HOME=/usr/local/lib/android/sdk
|
|
export ANDROID_NDK_HOME=/usr/local/lib/android/sdk/ndk-bundle
|
|
export ANDROID_NDK_ROOT=/usr/local/lib/android/sdk/ndk-bundle
|
|
displayName: set Android ENVs
|
|
|
|
- script: |
|
|
set -e -x
|
|
tools/ci_build/github/linux/docker/inference/x64/python/cpu/scripts/install_protobuf.sh -p $(Build.BinariesDirectory)/installed -d cmake/deps.txt
|
|
python3 tools/ci_build/build.py \
|
|
--config Release \
|
|
--android \
|
|
--build_dir build_qnn \
|
|
--android_sdk_path $ANDROID_HOME \
|
|
--android_ndk_path $ANDROID_NDK_HOME \
|
|
--android_abi=arm64-v8a \
|
|
--android_api=30 \
|
|
--parallel \
|
|
--use_qnn \
|
|
--qnn_home $(QNN_SDK_ROOT) \
|
|
--cmake_generator=Ninja \
|
|
--skip_tests --path_to_protoc_exe $(Build.BinariesDirectory)/installed/bin/protoc
|
|
displayName: Build QNN EP
|
|
|
|
- script: |
|
|
mkdir -p build_qnn/Release/testdata/QNN/node_tests
|
|
cp -r cmake/external/onnx//onnx/backend/test/data/node/test_basic_conv_with_padding build_qnn/Release/testdata/QNN/node_tests
|
|
displayName: Initialize test directories
|
|
|
|
- task: JavaToolInstaller@0
|
|
displayName: Use jdk 8
|
|
inputs:
|
|
versionSpec: '8'
|
|
jdkArchitectureOption: 'x64'
|
|
jdkSourceOption: 'PreInstalled'
|
|
|
|
- script: |
|
|
python3 tools/python/run_android_emulator.py \
|
|
--android-sdk-root ${ANDROID_SDK_ROOT} \
|
|
--create-avd --system-image "system-images;android-30;google_apis;arm64-v8a" \
|
|
--start --emulator-extra-args="-partition-size 4096" \
|
|
--emulator-pid-file $(Build.BinariesDirectory)/emulator.pid
|
|
displayName: Start Android emulator
|
|
enabled: false
|
|
continueOnError: true
|
|
|
|
- script: |
|
|
$ANDROID_SDK_ROOT/emulator/emulator -list-avds
|
|
displayName: List emulators
|
|
|
|
- task: CmdLine@2
|
|
inputs:
|
|
script: |
|
|
${ANDROID_SDK_ROOT}/platform-tools/adb shell "mkdir /data/local/tmp/qnn"
|
|
${ANDROID_SDK_ROOT}/platform-tools/adb push onnx_test_runner /data/local/tmp/qnn
|
|
${ANDROID_SDK_ROOT}/platform-tools/adb push testdata/QNN/node_tests/test_basic_conv_with_padding /data/local/tmp/qnn
|
|
${ANDROID_SDK_ROOT}/platform-tools/adb shell "/data/local/tmp/qnn/onnx_test_runner -e qnn /data/local/tmp/qnn/test_basic_conv_with_padding"
|
|
workingDirectory: build_qnn/Release
|
|
displayName: Run tests
|
|
enabled: false
|
|
continueOnError: true
|
|
|
|
- script: |
|
|
python3 tools/python/run_android_emulator.py \
|
|
--android-sdk-root ${ANDROID_SDK_ROOT} \
|
|
--stop \
|
|
--emulator-pid-file $(Build.BinariesDirectory)/emulator.pid
|
|
displayName: Stop Android emulator
|
|
condition: always()
|
|
enabled: false
|
|
continueOnError: true
|