Skip to content

Commit e8b377d

Browse files
committed
QNN 2.37 up level fix
1 parent f2a7f46 commit e8b377d

File tree

8 files changed

+32
-16
lines changed

8 files changed

+32
-16
lines changed

.ci/scripts/build-qnn-sdk.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ set -o xtrace
1111

1212
build_qnn_backend() {
1313
echo "Start building qnn backend."
14-
export ANDROID_NDK_ROOT=${ANDROID_NDK_ROOT:-/opt/ndk}
15-
export QNN_SDK_ROOT=${QNN_SDK_ROOT:-/tmp/qnn/2.28.0.241029}
14+
# Source QNN configuration
15+
source "$(dirname "${BASH_SOURCE[0]}")/../../backends/qualcomm/scripts/install_qnn_sdk.sh"
16+
setup_android_ndk
17+
install_qnn
1618
export EXECUTORCH_ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)"
1719

1820
parallelism=$(( $(nproc) - 1 ))

.ci/scripts/setup-qnn-deps.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ set -ex
1010
source "$(dirname "${BASH_SOURCE[0]}")/../../backends/qualcomm/scripts/install_qnn_sdk.sh"
1111

1212
setup_libcpp 12
13+
setup_android_ndk
1314
install_qnn

.ci/scripts/test_llama.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,14 @@ echo "COREML option ${COREML}"
119119

120120
if [[ "${MODE}" =~ .*qnn.* ]]; then
121121
QNN=ON
122+
123+
# Source QNN configuration
124+
source "$(dirname "${BASH_SOURCE[0]}")/../../backends/qualcomm/scripts/qnn_config.sh"
125+
# Download QNN_SDK. If already downloaded, export environment path
126+
source "$(dirname "${BASH_SOURCE[0]}")/../../backends/qualcomm/scripts/install_qnn_sdk.sh"
127+
install_qnn
128+
122129
export EXECUTORCH_ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
123-
export QNN_SDK_ROOT=/tmp/qnn/2.28.0.241029
124130
export LD_LIBRARY_PATH="${QNN_SDK_ROOT}/lib/x86_64-linux-clang"
125131
export PYTHONPATH=".."
126132
cp schema/program.fbs exir/_serialize/program.fbs

.ci/scripts/test_qnn_static_llama.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,13 @@ set -euxo pipefail
99

1010
source "$(dirname "${BASH_SOURCE[0]}")/utils.sh"
1111

12+
# Source QNN configuration
13+
source "$(dirname "${BASH_SOURCE[0]}")/../../backends/qualcomm/scripts/qnn_config.sh"
14+
# Download QNN_SDK. If already downloaded, export environment path
15+
source "$(dirname "${BASH_SOURCE[0]}")/../../backends/qualcomm/scripts/install_qnn_sdk.sh"
16+
install_qnn
17+
1218
export EXECUTORCH_ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
13-
export QNN_SDK_ROOT=/tmp/qnn/2.28.0.241029
1419
export LD_LIBRARY_PATH="${QNN_SDK_ROOT}/lib/x86_64-linux-clang"
1520
export PYTHONPATH=".."
1621
cp schema/program.fbs exir/_serialize/program.fbs

.github/workflows/android-perf.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ jobs:
292292
export.output_name="${OUT_ET_MODEL_NAME}.pte"
293293
ls -lh "${OUT_ET_MODEL_NAME}.pte"
294294
elif [[ ${{ matrix.config }} == "llama3_qnn_htp" ]]; then
295-
export QNN_SDK_ROOT=/tmp/qnn/2.28.0.241029
295+
export QNN_SDK_ROOT=/tmp/qnn/2.37.0.25072
296296
export LD_LIBRARY_PATH=$QNN_SDK_ROOT/lib/x86_64-linux-clang/
297297
export PYTHONPATH=$(pwd)/..
298298
@@ -432,7 +432,7 @@ jobs:
432432
PYTHON_EXECUTABLE=python bash .ci/scripts/build-qnn-sdk.sh
433433
434434
mkdir -p aar-out
435-
PYTHON_EXECUTABLE=python ANDROID_ABIS="arm64-v8a" BUILD_AAR_DIR=aar-out EXECUTORCH_BUILD_QNN=ON QNN_SDK_ROOT=/tmp/qnn/2.28.0.241029 EXECUTORCH_ANDROID_PROFILING=ON bash scripts/build_android_library.sh
435+
PYTHON_EXECUTABLE=python ANDROID_ABIS="arm64-v8a" BUILD_AAR_DIR=aar-out EXECUTORCH_BUILD_QNN=ON QNN_SDK_ROOT=/tmp/qnn/2.37.0.25072 EXECUTORCH_ANDROID_PROFILING=ON bash scripts/build_android_library.sh
436436
mkdir -p extension/benchmark/android/benchmark/app/libs
437437
cp aar-out/executorch.aar extension/benchmark/android/benchmark/app/libs
438438
pushd extension/benchmark/android/benchmark

backends/qualcomm/scripts/install_qnn_sdk.sh

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ source "${SCRIPT_DIR}/qnn_config.sh"
99
# Function to install Android NDK (only if not already set)
1010
setup_android_ndk() {
1111
# Check if ANDROID_NDK_ROOT is already set and valid
12-
if [ -n "${ANDROID_NDK_ROOT}" ] && [ -d "${ANDROID_NDK_ROOT}" ]; then
12+
if [ -n "${ANDROID_NDK_ROOT:-}" ] && [ -d "${ANDROID_NDK_ROOT}" ]; then
1313
echo "Android NDK already set to ${ANDROID_NDK_ROOT} - skipping installation"
1414
return
1515
fi
@@ -41,13 +41,19 @@ verify_pkg_installed() {
4141

4242
install_qnn() {
4343
# Check if QNN_SDK_ROOT is already set and valid
44-
if [ -n "${QNN_SDK_ROOT}" ] && [ -d "${QNN_SDK_ROOT}" ]; then
44+
if [ -n "${QNN_SDK_ROOT:-}" ] && [ -d "${QNN_SDK_ROOT}" ]; then
4545
echo "QNN SDK already set to ${QNN_SDK_ROOT} - skipping installation"
4646
return
4747
fi
4848

4949
echo "Start installing qnn v${QNN_VERSION}"
5050
QNN_INSTALLATION_DIR="/tmp/qnn"
51+
52+
if [ -d "${QNN_INSTALLATION_DIR}/${QNN_VERSION}" ]; then
53+
echo "QNN SDK already installed at ${QNN_INSTALLATION_DIR}/${QNN_VERSION}"
54+
export QNN_SDK_ROOT="${QNN_INSTALLATION_DIR}/${QNN_VERSION}"
55+
return
56+
fi
5157

5258
# Clean up any previous installation
5359
if [ -d "${QNN_INSTALLATION_DIR}" ]; then
@@ -79,7 +85,7 @@ install_qnn() {
7985
ls -lah "${QNN_INSTALLATION_DIR}"
8086

8187
# Set QNN_SDK_ROOT environment variable
82-
export QNN_SDK_ROOT="${QNN_INSTALLATION_DIR}"
88+
export QNN_SDK_ROOT="${QNN_INSTALLATION_DIR}/${QNN_VERSION}"
8389
echo "Set QNN_SDK_ROOT=${QNN_SDK_ROOT}"
8490
}
8591

@@ -147,7 +153,3 @@ setup_libcpp() {
147153

148154
echo "libc++ installed to ${INSTALL_DIR}"
149155
}
150-
151-
setup_libcpp 12
152-
setup_android_ndk
153-
install_qnn

backends/qualcomm/scripts/qnn_config.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@
66
# LICENSE file in the root directory of this source tree.
77

88
# QNN SDK Configuration
9-
QNN_VERSION="2.28.0.241029"
10-
QNN_ZIP_URL="https://softwarecenter.qualcomm.com/api/download/software/qualcomm_neural_processing_sdk/v${QNN_VERSION}.zip"
9+
QNN_VERSION="2.37.0.250724"
10+
QNN_ZIP_URL="https://softwarecenter.qualcomm.com/api/download/software/sdks/Qualcomm_AI_Runtime_Community/All/${QNN_VERSION}/v${QNN_VERSION}.zip"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
def get_qnn_library_version():
2-
return "2.28"
2+
return "2.37"

0 commit comments

Comments
 (0)