diff --git a/.ci/scripts/build-qnn-sdk.sh b/.ci/scripts/build-qnn-sdk.sh index deeaed34ac3..052303fd3f1 100644 --- a/.ci/scripts/build-qnn-sdk.sh +++ b/.ci/scripts/build-qnn-sdk.sh @@ -12,13 +12,19 @@ build_qnn_backend() { echo "Start building qnn backend." export ANDROID_NDK_ROOT=/opt/ndk export QNN_SDK_ROOT=/tmp/qnn/2.25.0.240728 - export EXECUTORCH_ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" + export EXECUTORCH_SRC_ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" + export EXECUTORCH_INSTALL_ROOT="$(python -c 'import executorch; print(executorch.__path__[0])')" + if [ "$EXECUTORCH_INSTALL_ROOT" == "" ]; then + echo "Failed to find where executorch package is installed." + echo "import executorch failed" + exit -1 + fi bash backends/qualcomm/scripts/build.sh --skip_aarch64 --job_number 2 --release } set_up_aot() { - cd $EXECUTORCH_ROOT + cd $EXECUTORCH_SRC_ROOT if [ ! -d "cmake-out" ]; then mkdir cmake-out fi @@ -36,8 +42,8 @@ set_up_aot() { cmake --build $PWD --target "PyQnnManagerAdaptor" "PyQnnWrapperAdaptor" -j$(nproc) # install Python APIs to correct import path # The filename might vary depending on your Python and host version. - cp -f backends/qualcomm/PyQnnManagerAdaptor.cpython-310-x86_64-linux-gnu.so $EXECUTORCH_ROOT/backends/qualcomm/python - cp -f backends/qualcomm/PyQnnWrapperAdaptor.cpython-310-x86_64-linux-gnu.so $EXECUTORCH_ROOT/backends/qualcomm/python + cp -f backends/qualcomm/PyQnnManagerAdaptor.cpython-310-x86_64-linux-gnu.so $EXECUTORCH_INSTALL_ROOT/backends/qualcomm/python + cp -f backends/qualcomm/PyQnnWrapperAdaptor.cpython-310-x86_64-linux-gnu.so $EXECUTORCH_INSTALL_ROOT/backends/qualcomm/python popd # Workaround for fbs files in exir/_serialize diff --git a/.ci/scripts/test_llama.sh b/.ci/scripts/test_llama.sh index dad3e1101fd..7a256af5d2a 100644 --- a/.ci/scripts/test_llama.sh +++ b/.ci/scripts/test_llama.sh @@ -107,7 +107,6 @@ if [[ "${MODE}" =~ .*qnn.* ]]; then export EXECUTORCH_ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)" export QNN_SDK_ROOT=/tmp/qnn/2.25.0.240728 export LD_LIBRARY_PATH="${QNN_SDK_ROOT}/lib/x86_64-linux-clang" - export PYTHONPATH=".." cp schema/program.fbs exir/_serialize/program.fbs cp schema/scalar_type.fbs exir/_serialize/scalar_type.fbs cp -f build-x86/backends/qualcomm/PyQnnManagerAdaptor.cpython-310-x86_64-linux-gnu.so backends/qualcomm/python diff --git a/.ci/scripts/test_model.sh b/.ci/scripts/test_model.sh index 0727eecf770..81e5c7db32d 100755 --- a/.ci/scripts/test_model.sh +++ b/.ci/scripts/test_model.sh @@ -152,10 +152,8 @@ test_model_with_qnn() { source "$(dirname "${BASH_SOURCE[0]}")/build-qnn-sdk.sh" echo "ANDROID_NDK_ROOT: $ANDROID_NDK_ROOT" echo "QNN_SDK_ROOT: $QNN_SDK_ROOT" - echo "EXECUTORCH_ROOT: $EXECUTORCH_ROOT" export LD_LIBRARY_PATH=$QNN_SDK_ROOT/lib/x86_64-linux-clang/ - export PYTHONPATH=$EXECUTORCH_ROOT/.. if [[ "${MODEL_NAME}" == "dl3" ]]; then EXPORT_SCRIPT=deeplab_v3