120 lines
3.9 KiB
YAML
120 lines
3.9 KiB
YAML
trigger: none
|
|
|
|
pr:
|
|
autoCancel: true
|
|
drafts: false
|
|
branches:
|
|
include:
|
|
- master
|
|
paths:
|
|
include:
|
|
- neural_compressor/common
|
|
- neural_compressor/torch
|
|
- examples/3.x_api/pytorch/nlp/huggingface_models/language-modeling/quantization/weight_only
|
|
- setup.py
|
|
- requirements_pt.txt
|
|
- .azure-pipelines/scripts/models
|
|
- .azure-pipelines/model-test-3x.yml
|
|
- .azure-pipelines/template/docker-template.yml
|
|
|
|
variables:
|
|
OUT_SCRIPT_PATH: $(Build.SourcesDirectory)/.azure-pipelines/scripts/models
|
|
SCRIPT_PATH: /neural-compressor/.azure-pipelines/scripts
|
|
|
|
parameters:
|
|
- name: PyTorch_Model_3X
|
|
displayName: Run PyTorch models?
|
|
type: boolean
|
|
default: true
|
|
|
|
- name: PyTorchModelList
|
|
type: object
|
|
default:
|
|
- opt_125m_woq_gptq_int4
|
|
- opt_125m_woq_gptq_nf4_dq_bnb
|
|
- opt_125m_woq_gptq_int4_dq_ggml
|
|
|
|
stages:
|
|
- stage: PyTorchModels
|
|
displayName: Run PyTorch Model
|
|
pool: ICX-16C
|
|
dependsOn: []
|
|
condition: and(succeeded(), eq('${{ parameters.PyTorch_Model_3X }}', 'true'))
|
|
jobs:
|
|
- ${{ each model in parameters.PyTorchModelList }}:
|
|
- job:
|
|
displayName: ${{ model }}
|
|
steps:
|
|
- template: template/model-template.yml
|
|
parameters:
|
|
modelName: ${{ model }}
|
|
framework: "pytorch"
|
|
APIVersion: "3x"
|
|
|
|
- stage: GenerateLogs
|
|
displayName: Generate Report
|
|
pool:
|
|
vmImage: "ubuntu-latest"
|
|
dependsOn: [PyTorchModels]
|
|
jobs:
|
|
- job: GenerateReport
|
|
steps:
|
|
- script: |
|
|
echo ${BUILD_SOURCESDIRECTORY}
|
|
rm -fr ${BUILD_SOURCESDIRECTORY} || sudo rm -fr ${BUILD_SOURCESDIRECTORY} || true
|
|
echo y | docker system prune --all
|
|
displayName: "Clean workspace"
|
|
- checkout: self
|
|
clean: true
|
|
displayName: "Checkout out Repo"
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
artifact:
|
|
patterns: "**/*_summary.log"
|
|
path: $(OUT_SCRIPT_PATH)
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
artifact:
|
|
patterns: "**/*_tuning_info.log"
|
|
path: $(OUT_SCRIPT_PATH)
|
|
- task: UsePythonVersion@0
|
|
displayName: "Use Python 3.10"
|
|
inputs:
|
|
versionSpec: "3.10"
|
|
- script: |
|
|
cd ${OUT_SCRIPT_PATH}
|
|
mkdir generated
|
|
mkdir last_generated
|
|
pip install requests
|
|
python -u collect_log_all.py --logs_dir $(OUT_SCRIPT_PATH) --output_dir generated --build_id=$(Build.BuildId)
|
|
displayName: "Collect all logs"
|
|
- task: DownloadPipelineArtifact@2
|
|
continueOnError: true
|
|
inputs:
|
|
source: "specific"
|
|
artifact: "FinalReport"
|
|
patterns: "**.log"
|
|
path: $(OUT_SCRIPT_PATH)/last_generated
|
|
project: $(System.TeamProject)
|
|
pipeline: "Model-Test"
|
|
runVersion: "specific"
|
|
runId: $(refer_buildId)
|
|
displayName: "Download last logs"
|
|
- script: |
|
|
echo "------ Generating final report.html ------"
|
|
cd ${OUT_SCRIPT_PATH}
|
|
/usr/bin/bash generate_report.sh --WORKSPACE generated --output_dir generated --last_logt_dir last_generated
|
|
displayName: "Generate report"
|
|
- task: PublishPipelineArtifact@1
|
|
inputs:
|
|
targetPath: $(OUT_SCRIPT_PATH)/generated
|
|
artifact: FinalReport
|
|
publishLocation: "pipeline"
|
|
displayName: "Publish report"
|
|
- script: |
|
|
if [ $(is_perf_reg) == 'true' ]; then
|
|
echo "Some benchmark regression occurred or the reference data need to be updated, please check artifacts and reports."
|
|
exit 1
|
|
fi
|
|
displayName: "Specify regression"
|