diff --git a/.github/workflows/nightly_ondemand_rolling.yml b/.github/workflows/nightly_ondemand_rolling.yml index 08bc94de4..ce86f2816 100644 --- a/.github/workflows/nightly_ondemand_rolling.yml +++ b/.github/workflows/nightly_ondemand_rolling.yml @@ -66,34 +66,11 @@ concurrency: cancel-in-progress: ${{ github.event_name != 'schedule' }} jobs: - Linux-Nightly-Ondemand-UT-Tests-Rolling: - if: github.event_name == 'schedule' || ${{ inputs.ut_suite }} - uses: ./.github/workflows/_linux_ut.yml - with: - keep_torch_xpu_ops: ${{ github.event_name == 'schedule' && 'false' || inputs.keep_torch_xpu_ops }} - ut: ${{ github.event_name == 'schedule' && 'op_regression,op_regression_dev1,op_extended,op_ut' || inputs.ut }} - pytorch: ${{ github.event_name == 'schedule' && 'main' || inputs.pytorch }} - python: ${{ github.event_name == 'schedule' && '3.10' || inputs.python }} - driver: rolling - runner: pvc_rolling - - Linux-Weekly-UT-Tests-ABI-0-Rolling: - if: github.event_name == 'schedule' && github.event.schedule == '30 16 * * 5' - uses: ./.github/workflows/_linux_ut.yml - with: - abi: 0 - keep_torch_xpu_ops: ${{ github.event_name == 'schedule' && 'false' || inputs.keep_torch_xpu_ops }} - ut: op_regression,op_regression_dev1,op_extended,op_ut - pytorch: ${{ github.event_name == 'schedule' && 'main' || inputs.pytorch }} - python: ${{ github.event_name == 'schedule' && '3.10' || inputs.python }} - driver: rolling - runner: pvc_rolling - Linux-Nightly-Ondemand-E2E-Tests-Rolling: runs-on: pvc_rolling # Don't run on forked repos if: github.repository_owner == 'intel' - timeout-minutes: 3600 + timeout-minutes: 36000 env: pytorch: ${{ github.event_name == 'schedule' && 'main' || inputs.pytorch }} keep_torch_xpu_ops: ${{ github.event_name == 'schedule' && 'false' || inputs.keep_torch_xpu_ops }} @@ -117,6 +94,8 @@ jobs: TRITON_COMMIT_ID: ${{ steps.pinned.outputs.TRITON_COMMIT_ID }} TIMEOUT_MODELS: ${{ steps.summary.outputs.TIMEOUT_MODELS }} steps: + - name: Output Inputs + run: echo "${{ toJSON(github.event.inputs) }}" - name: Checkout torch-xpu-ops uses: actions/checkout@v4 - name: Prepare Conda ENV @@ -132,10 +111,11 @@ jobs: pwd cd ../ && rm -rf pytorch source activate e2e_ci - git clone https://github.com/pytorch/pytorch pytorch + git clone https://github.com/DDEle/pytorch pytorch cd pytorch && git checkout $(echo ${{ env.pytorch }} |awk '{print $1}') # apply PRs for stock pytorch pip install requests + pip install botocore python ../torch-xpu-ops/.github/scripts/apply_torch_pr.py git status && git show -s git submodule sync && git submodule update --init --recursive @@ -283,100 +263,9 @@ jobs: mkdir -p ${{ github.workspace }}/../../_backup/ && cd ${{ github.workspace }}/../../_backup/ find . -type f -name "*.tgz" -mtime +3 -delete # delete files older than 3 days tar zcf xpu-inductor-${GITHUB_RUN_ID}.tgz -C ${{ github.workspace }}/upload_files/ . # backup logs - failed_models=$(grep "Real failed models: *[1-9]" ${{ github.workspace }}/upload_files/summary_accuracy.log |wc -l || true) - timeout_models=$(grep "timeout models: *[1-9]" ${{ github.workspace }}/upload_files/summary_accuracy.log |wc -l || true) - if [ ${timeout_models} -ne 0 ];then - TIMEOUT_MODELS="$( - grep -B 1 "timeout models: [1-9]" ${{ github.workspace }}/upload_files/summary_accuracy.log - )" - echo "TIMEOUT_MODELS=\"${TIMEOUT_MODELS}\"" |awk '{printf("%s\\n", $0)}' |sed 's/\\n$//' |tee -a "${GITHUB_OUTPUT}" - fi - if [ ${failed_models} -ne 0 ];then - grep -E "Real failed models: [1-9]|Summary for" ${{ github.workspace }}/upload_files/summary_accuracy.log |grep "failed" -B 1 - exit 1 - fi - name: Upload Inductor XPU E2E Data if: ${{ ! cancelled() }} uses: actions/upload-artifact@v4 with: name: Inductor-XPU-E2E-Data-${{ github.event.pull_request.number || github.sha }} path: ${{ github.workspace }}/upload_files - - Tests-Failure-And-Report: - if: ${{ ! cancelled() }} - runs-on: [ self-hosted, Linux ] - permissions: - issues: write - env: - GH_TOKEN: ${{ github.token }} - python: ${{ github.event_name == 'schedule' && '3.10' || inputs.python }} - needs: Linux-Nightly-Ondemand-E2E-Tests-Rolling - steps: - - name: Report github issue for XPU OPS nightly - if: github.repository_owner == 'intel' - run: | - set -xe - # Test env - build_url="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" - repo="${{ github.repository }}" - TORCH_BRANCH_ID="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.TORCH_BRANCH_ID }}" - TORCH_COMMIT_ID="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.TORCH_COMMIT_ID }}" - KERNEL_VERSION="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.KERNEL_VERSION }}" - DRIVER_VERSION="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.DRIVER_VERSION }}" - BUNDLE_VERSION="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.BUNDLE_VERSION }}" - OS_PRETTY_NAME="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.OS_PRETTY_NAME }}" - GCC_VERSION="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.GCC_VERSION }}" - TORCHBENCH_COMMIT_ID="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.TORCHBENCH_COMMIT_ID }}" - TORCHVISION_COMMIT_ID="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.TORCHVISION_COMMIT_ID }}" - TORCHAUDIO_COMMIT_ID="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.TORCHAUDIO_COMMIT_ID }}" - TRANSFORMERS_VERSION="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.TRANSFORMERS_VERSION }}" - TIMM_COMMIT_ID="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.TIMM_COMMIT_ID }}" - TRITON_COMMIT_ID="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.TRITON_COMMIT_ID }}" - TIMEOUT_MODELS="${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.outputs.TIMEOUT_MODELS }}" - # Test status - if [ "${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.result }}" == "success" ];then - test_status=Success - elif [ "${{ needs.Linux-Nightly-Ondemand-E2E-Tests-Rolling.result }}" == "failure" ];then - test_status=Failure - cc_comment="CC ${{ secrets.NIGHTLY_EMAIL_LIST }}" - else - test_status=None - exit 0 - fi - # Test Type - if [ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ];then - test_type="On-demand" - test_issue_id=426 - cc_comment="CC @${GITHUB_TRIGGERING_ACTOR}" - elif [ "${{ github.event.schedule }}" == "30 16 * * 5" ];then - test_type="Weekly" - test_issue_id=432 - else - test_type="Nightly" - test_issue_id=432 - fi - # Test report - echo -e "**${test_status}** $test_type Rolling Test on $(date +'%F'), See: $build_url\n" > ${{ github.workspace }}/report.txt - printf "Torch-xpu-ops | PyTorch | Triton\n--- | --- | ---\n${GITHUB_WORKFLOW_SHA:0:7} on ${GITHUB_REF_NAME} | " >> ${{ github.workspace }}/report.txt - printf "[${TORCH_COMMIT_ID:0:7}](https://github.com/pytorch/pytorch/commit/${TORCH_COMMIT_ID:0:7}) on $TORCH_BRANCH_ID | " >> ${{ github.workspace }}/report.txt - echo -e "[${TRITON_COMMIT_ID:0:7}](https://github.com/intel/intel-xpu-backend-for-triton/commit/${TRITON_COMMIT_ID:0:7}) \n" >> ${{ github.workspace }}/report.txt - printf "Transformers | Timm | Torchbench | Torchvision | Torchaudio\n--- | --- | --- | --- | ---\n" >> ${{ github.workspace }}/report.txt - printf "[${TRANSFORMERS_VERSION:0:7}](https://github.com/huggingface/transformers/commit/${TRANSFORMERS_VERSION:0:7}) | " >> ${{ github.workspace }}/report.txt - printf "[${TIMM_COMMIT_ID:0:7}](https://github.com/huggingface/pytorch-image-models/commit/${TIMM_COMMIT_ID:0:7}) | " >> ${{ github.workspace }}/report.txt - printf "[${TORCHBENCH_COMMIT_ID:0:7}](https://github.com/pytorch/benchmark/commit/${TORCHBENCH_COMMIT_ID:0:7}) | " >> ${{ github.workspace }}/report.txt - printf "[${TORCHVISION_COMMIT_ID:0:7}](https://github.com/pytorch/vision/commit/${TORCHVISION_COMMIT_ID:0:7}) | " >> ${{ github.workspace }}/report.txt - echo -e "[${TORCHAUDIO_COMMIT_ID:0:7}](https://github.com/pytorch/audio/commit/${TORCHAUDIO_COMMIT_ID:0:7}) \n" >> ${{ github.workspace }}/report.txt - printf "Device | OS | GCC | Python | Driver(DKMS) | Kernel | Bundle(DPCPP)\n--- | --- | --- | --- | --- | --- | ---\n" >> ${{ github.workspace }}/report.txt - echo -e "$RUNNER_NAME | $OS_PRETTY_NAME | $GCC_VERSION | ${{ env.python }} | rolling-$DRIVER_VERSION |$KERNEL_VERSION | $BUNDLE_VERSION \n" >> ${{ github.workspace }}/report.txt - if [ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ];then - test_scope="${{ inputs.suite }}/${{ inputs.dt }}/${{ inputs.mode }}/${{ inputs.scenario }}" - if [ "${{ inputs.model }}" != "" ];then - test_scope+="; model=${{ inputs.model }}" - fi - echo -e "Inputs | $test_scope\n--- | --- \n" >> ${{ github.workspace }}/report.txt - fi - echo "$TIMEOUT_MODELS" |awk '{printf("%s\\n", $0)}' >> ${{ github.workspace }}/report.txt - echo "$cc_comment" >> ${{ github.workspace }}/report.txt - # Report - report_txt=$(cat ${{ github.workspace }}/report.txt) - gh --repo $repo issue comment $test_issue_id --body "$report_txt"