From c3f7fd4f3c1ba906db7f8a2444ec1be0abb1a344 Mon Sep 17 00:00:00 2001 From: Abukhoyer Shaik Date: Tue, 6 May 2025 11:19:57 +0000 Subject: [PATCH 1/2] Trying to optimize the jenkins pipeline Signed-off-by: Abukhoyer Shaik --- scripts/Jenkinsfile | 128 +++++++++++++++++++++++--------------------- 1 file changed, 67 insertions(+), 61 deletions(-) diff --git a/scripts/Jenkinsfile b/scripts/Jenkinsfile index fcd2fece5..2e1cb1473 100644 --- a/scripts/Jenkinsfile +++ b/scripts/Jenkinsfile @@ -85,70 +85,76 @@ pipeline { } } } - stage('CLI Tests') { - steps { - timeout(time: 60, unit: 'MINUTES') { - sh ''' - sudo docker exec ${BUILD_TAG} bash -c " - source /qnn_sdk/bin/envsetup.sh && - source /qnn_sdk/bin/envcheck -c && - cd /efficient-transformers && - . preflight_qeff/bin/activate && - mkdir -p $PWD/cli && - export TOKENIZERS_PARALLELISM=false && - export QEFF_HOME=$PWD/cli && - pytest tests -m '(cli and not qnn)' --ignore tests/vllm --junitxml=tests/tests_log3.xml && - junitparser merge tests/tests_log3.xml tests/tests_log.xml && - deactivate" - ''' - } - } - } - stage('vLLM Tests') { + stage('CLI and Vllm Tests'){ + parallel { + stage('CLI Tests') { + steps { + timeout(time: 60, unit: 'MINUTES') { + sh ''' + sudo docker exec ${BUILD_TAG} bash -c " + cd /efficient-transformers && + . preflight_qeff/bin/activate && + mkdir -p $PWD/cli && + export TOKENIZERS_PARALLELISM=false && + export QEFF_HOME=$PWD/cli && + pytest tests -m '(cli and not qnn)' --ignore tests/vllm -n 1 --junitxml=tests/tests_log3.xml && + junitparser merge tests/tests_log3.xml tests/tests_log.xml && + deactivate" + ''' + } + } + } + stage('vLLM Tests') { - steps - { - build job: 'qefficient_vllm_upstream', - parameters: [string(name: 'NAME', value: "${BUILD_TAG}")], - propagate: true, - wait: true - } - } - stage('QNN CLI Tests') { - steps { - timeout(time: 30, unit: 'MINUTES') { - sh ''' - sudo docker exec ${BUILD_TAG} bash -c " - source /qnn_sdk/bin/envsetup.sh && - source /qnn_sdk/bin/envcheck -c && - cd /efficient-transformers && - . preflight_qeff/bin/activate && - mkdir -p $PWD/Qnn_cli && - export TOKENIZERS_PARALLELISM=false && - export QEFF_HOME=$PWD/Qnn_cli && - pytest tests -m '(cli and qnn)' --ignore tests/vllm --junitxml=tests/tests_log4.xml && - junitparser merge tests/tests_log4.xml tests/tests_log.xml && - deactivate" - ''' - } + steps + { + build job: 'qefficient_vllm_upstream', + parameters: [string(name: 'NAME', value: "${BUILD_TAG}")], + propagate: true, + wait: true + } + } } } - stage('QNN Non-CLI Tests') { - steps { - timeout(time: 200, unit: 'MINUTES') { - sh ''' - sudo docker exec ${BUILD_TAG} bash -c " - source /qnn_sdk/bin/envsetup.sh && - source /qnn_sdk/bin/envcheck -c && - cd /efficient-transformers && - . preflight_qeff/bin/activate && - mkdir -p $PWD/Qnn_non_cli && - export TOKENIZERS_PARALLELISM=false && - export QEFF_HOME=$PWD/Qnn_non_cli && - pytest tests -m '(not cli) and (qnn) and (on_qaic)' --ignore tests/vllm --junitxml=tests/tests_log5.xml && - junitparser merge tests/tests_log5.xml tests/tests_log.xml && - deactivate" - ''' + stage('QNN Tests'){ + parallel { + stage('QNN CLI Tests') { + steps { + timeout(time: 30, unit: 'MINUTES') { + sh ''' + sudo docker exec ${BUILD_TAG} bash -c " + source /qnn_sdk/bin/envsetup.sh && + source /qnn_sdk/bin/envcheck -c && + cd /efficient-transformers && + . preflight_qeff/bin/activate && + mkdir -p $PWD/Qnn_cli && + export TOKENIZERS_PARALLELISM=false && + export QEFF_HOME=$PWD/Qnn_cli && + pytest tests -m '(cli and qnn)' --ignore tests/vllm -n 2 --junitxml=tests/tests_log4.xml && + junitparser merge tests/tests_log4.xml tests/tests_log.xml && + deactivate" + ''' + } + } + } + stage('QNN Non-CLI Tests') { + steps { + timeout(time: 200, unit: 'MINUTES') { + sh ''' + sudo docker exec ${BUILD_TAG} bash -c " + source /qnn_sdk/bin/envsetup.sh && + source /qnn_sdk/bin/envcheck -c && + cd /efficient-transformers && + . preflight_qeff/bin/activate && + mkdir -p $PWD/Qnn_non_cli && + export TOKENIZERS_PARALLELISM=false && + export QEFF_HOME=$PWD/Qnn_non_cli && + pytest tests -m '(not cli) and (qnn) and (on_qaic)' --ignore tests/vllm -n 2 --junitxml=tests/tests_log5.xml && + junitparser merge tests/tests_log5.xml tests/tests_log.xml && + deactivate" + ''' + } + } } } } From b254ce571463bdb715621519880f877132f4abe7 Mon Sep 17 00:00:00 2001 From: Abukhoyer Shaik Date: Wed, 7 May 2025 05:56:42 +0000 Subject: [PATCH 2/2] resolving parallelization failure Signed-off-by: Abukhoyer Shaik --- scripts/Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/Jenkinsfile b/scripts/Jenkinsfile index 2e1cb1473..6b7bca442 100644 --- a/scripts/Jenkinsfile +++ b/scripts/Jenkinsfile @@ -130,7 +130,7 @@ pipeline { mkdir -p $PWD/Qnn_cli && export TOKENIZERS_PARALLELISM=false && export QEFF_HOME=$PWD/Qnn_cli && - pytest tests -m '(cli and qnn)' --ignore tests/vllm -n 2 --junitxml=tests/tests_log4.xml && + pytest tests -m '(cli and qnn)' --ignore tests/vllm --junitxml=tests/tests_log4.xml && junitparser merge tests/tests_log4.xml tests/tests_log.xml && deactivate" ''' @@ -149,7 +149,7 @@ pipeline { mkdir -p $PWD/Qnn_non_cli && export TOKENIZERS_PARALLELISM=false && export QEFF_HOME=$PWD/Qnn_non_cli && - pytest tests -m '(not cli) and (qnn) and (on_qaic)' --ignore tests/vllm -n 2 --junitxml=tests/tests_log5.xml && + pytest tests -m '(not cli) and (qnn) and (on_qaic)' --ignore tests/vllm --junitxml=tests/tests_log5.xml && junitparser merge tests/tests_log5.xml tests/tests_log.xml && deactivate" '''