Skip to content

Commit 44aaad8

Browse files
committed
Qualcomm AI Engine Direct - Support Static LLM Model SQNR, Inference
Refactor, Extract nn.Module Static Llama, Improve CI coverage with evaluating Static LLM SQNR
1 parent 8e8d97e commit 44aaad8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1097
-660
lines changed

.ci/scripts/test_qnn_static_llm.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ pip install graphviz
3939
set +e
4040

4141
echo "Executing task: $TASK_NAME"
42+
EXTRA_FLAGS=""
4243
if [[ "${TASK_NAME}" == "stories_110m" ]]; then
4344
# Download stories llama110m artifacts
4445
download_stories_model_artifacts
@@ -80,7 +81,10 @@ elif [[ "${TASK_NAME}" == "stories_260k_bc" ]]; then
8081
fi
8182

8283
elif [[ "${TASK_NAME}" == "smollm2_135m" ]]; then
83-
$PYTHON_EXECUTABLE backends/qualcomm/tests/test_qnn_delegate.py -k TestExampleLLMScript.test_static_llm_model --model_name smollm2_135m --model SM8650 --build_folder build-x86/ --executorch_root . --artifact_dir ./static_smollm2 --enable_x86_64
84+
if [ -n "$2" ]; then
85+
EXTRA_FLAGS="$EXTRA_FLAGS --static_llm_eval_method $2"
86+
fi
87+
$PYTHON_EXECUTABLE backends/qualcomm/tests/test_qnn_delegate.py -k TestExampleLLMScript.test_static_llm_model --model_name smollm2_135m --model SM8650 --build_folder build-x86/ --executorch_root . --artifact_dir ./static_smollm2 --enable_x86_64 $EXTRA_FLAGS
8488
exit_code1=$?
8589
if [ $exit_code1 -ne 0 ]; then
8690
exit 1

.github/workflows/nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,4 @@ jobs:
6969
# Setup install_requirements for llama
7070
PYTHON_EXECUTABLE=python bash examples/models/llama/install_requirements.sh
7171
72-
PYTHON_EXECUTABLE=python bash .ci/scripts/test_qnn_static_llm.sh ${{ matrix.task }}
72+
PYTHON_EXECUTABLE=python bash .ci/scripts/test_qnn_static_llm.sh ${{ matrix.task }} wikitext_ppl

.github/workflows/pull.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,40 @@ jobs:
598598
599599
PYTHON_EXECUTABLE=python bash .ci/scripts/test_qnn_static_llm.sh ${{ matrix.task }}
600600
601+
test-sqnr-static-llm-qnn-linux:
602+
name: test-sqnr-static-llm-qnn-linux
603+
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
604+
permissions:
605+
id-token: write
606+
contents: read
607+
strategy:
608+
matrix:
609+
task: [smollm2_135m]
610+
fail-fast: false
611+
with:
612+
runner: linux.2xlarge
613+
docker-image: ci-image:executorch-ubuntu-22.04-qnn-sdk
614+
submodules: 'recursive'
615+
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
616+
timeout: 180
617+
script: |
618+
# The generic Linux job chooses to use base env, not the one setup by the image
619+
CONDA_ENV=$(conda env list --json | jq -r ".envs | .[-1]")
620+
conda activate "${CONDA_ENV}"
621+
622+
BUILD_TOOL="cmake"
623+
624+
PYTHON_EXECUTABLE=python bash .ci/scripts/setup-qnn-deps.sh
625+
PYTHON_EXECUTABLE=python bash .ci/scripts/build-qnn-sdk.sh
626+
627+
# Setup executorch
628+
PYTHON_EXECUTABLE=python bash .ci/scripts/setup-linux.sh --build-tool "${BUILD_TOOL}"
629+
630+
# Setup install_requirements for llama
631+
PYTHON_EXECUTABLE=python bash examples/models/llama/install_requirements.sh
632+
633+
PYTHON_EXECUTABLE=python bash .ci/scripts/test_qnn_static_llm.sh ${{ matrix.task }} sqnr
634+
601635
test-qnn-models-linux:
602636
name: test-qnn-models-linux
603637
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main

0 commit comments

Comments
 (0)