From dc2398d34b3b3440a2b747703634ecba943af055 Mon Sep 17 00:00:00 2001 From: mengfeil Date: Tue, 8 Oct 2024 13:03:30 +0800 Subject: [PATCH] debug --- .../actions/inductor-xpu-e2e-test/action.yml | 134 +-------- .../workflows/nightly_ondemand_rolling.yml | 282 +----------------- 2 files changed, 8 insertions(+), 408 deletions(-) diff --git a/.github/actions/inductor-xpu-e2e-test/action.yml b/.github/actions/inductor-xpu-e2e-test/action.yml index 1667fe684..e010dd16e 100644 --- a/.github/actions/inductor-xpu-e2e-test/action.yml +++ b/.github/actions/inductor-xpu-e2e-test/action.yml @@ -43,6 +43,11 @@ inputs: default: 'lts' description: Driver lts/rolling +env: + HUGGING_FACE_HUB_TOKEN: ${{ inputs.hf_token }} + NEOReadDebugKeys: ${{ inputs.driver == 'rolling' && '1' || '0' }} + DisableScratchPages: ${{ inputs.driver == 'rolling' && '1' || '0' }} + runs: using: composite steps: @@ -50,131 +55,4 @@ runs: if: ${{ inputs.env_prepare }} shell: bash run: | - source activate e2e_ci - source .github/scripts/env.sh - if [[ ${{ inputs.suite }} == *"torchbench"* ]]; then - if [ "${{ inputs.pytorch }}" != "nightly_wheel" ]; then - cd ../ && rm -rf audio && git clone --single-branch -b main https://github.com/pytorch/audio.git - cd audio && git checkout $TORCHAUDIO_COMMIT_ID - python setup.py bdist_wheel && pip uninstall torchaudio -y && pip install dist/*.whl - cd ../ && rm -rf vision && git clone --single-branch -b main https://github.com/pytorch/vision.git - cd vision && git checkout $TORCHVISION_COMMIT_ID - python setup.py bdist_wheel && pip uninstall torchvision -y && pip install dist/*.whl - fi - cd ../ && python -c "import torch, torchvision, torchaudio" - rm -rf benchmark && git clone https://github.com/pytorch/benchmark.git - cd benchmark && git checkout $TORCHBENCH_COMMIT_ID && pip install --no-deps -r requirements.txt - python install.py --continue_on_fail - # deps for torchrec_dlrm - pip install pyre_extensions - pip install fbgemm-gpu --index-url https://download.pytorch.org/whl/nightly/cpu - pip install torchmetrics==1.0.3 - pip install torchrec --no-deps --index-url https://download.pytorch.org/whl/nightly/cpu - fi - if [[ ${{ inputs.suite }} == *"huggingface"* ]]; then - pip install --force-reinstall git+https://github.com/huggingface/transformers@${TRANSFORMERS_VERSION} - fi - if [[ ${{ inputs.suite }} == *"timm_models"* ]]; then - if [ "${{ inputs.pytorch }}" != "nightly_wheel" ]; then - cd ../ && rm -rf vision && git clone --single-branch -b main https://github.com/pytorch/vision.git - cd vision && git checkout $TORCHVISION_COMMIT_ID - python setup.py bdist_wheel && pip uninstall torchvision -y && pip install dist/*.whl - fi - # install timm without dependencies - pip install --no-deps git+https://github.com/huggingface/pytorch-image-models@$TIMM_COMMIT_ID - # install timm dependencies without torch and torchvision - pip install $(curl -sSL https://raw.githubusercontent.com/huggingface/pytorch-image-models/$TIMM_COMMIT_ID/requirements.txt | grep -vE torch) - fi - pip install numpy==1.26.4 - - name: E2E Test (${{ inputs.suite }} ${{ inputs.dt }} ${{ inputs.mode }} ${{ inputs.scenario }}) - shell: bash - env: - HUGGING_FACE_HUB_TOKEN: ${{ inputs.hf_token }} - NEOReadDebugKeys: ${{ inputs.driver == 'rolling' && '1' || '0' }} - DisableScratchPages: ${{ inputs.driver == 'rolling' && '1' || '0' }} - run: | - source activate e2e_ci - source .github/scripts/env.sh - cp .github/scripts/inductor_xpu_test.sh ../pytorch - cd ../pytorch - - # check param - function contains() { - contains_status="echo 'Start $2 ...'" - { - [[ $1 =~ (^|,)$2($|,) ]] - } || { - echo "[Warning] $2 is not suppotted type! Skipped!" - contains_status="continue" - } - } - set -xe - for suite in $(echo ${{ inputs.suite }} |sed 's/,/ /g') - do - contains "huggingface,timm_models,torchbench" $suite - $contains_status - for dt in $(echo ${{ inputs.dt }} |sed 's/,/ /g') - do - contains "float32,bfloat16,float16,amp_bf16,amp_fp16" $dt - $contains_status - for mode in $(echo ${{ inputs.mode }} |sed 's/,/ /g') - do - contains "inference,training" $mode - $contains_status - for scenario in $(echo ${{ inputs.scenario }} |sed 's/,/ /g') - do - contains "accuracy,performance" $scenario - $contains_status - if [ "${MODEL_ONLY_NAME}" == "" ];then - xpu_list=($(xpu-smi discovery |grep 'DRM Device: /dev/' |sed 's/.*card//;s/[^0-9].*//' |awk '{print $1 - 1":"NR - 1}')) - for xpu_id in ${xpu_list[*]} - do - bash inductor_xpu_test.sh ${suite} ${dt} ${mode} ${scenario} xpu ${xpu_id/:*} static ${#xpu_list[*]} ${xpu_id/*:} & - done - else - bash inductor_xpu_test.sh ${suite} ${dt} ${mode} ${scenario} xpu 0 static 1 0 ${MODEL_ONLY_NAME} & - fi - wait - # summarize pass rate - LOG_DIR="inductor_log/${suite}/${dt}" - LOG_NAME=inductor_${suite}_${dt}_${mode}_xpu_${scenario}_all.log - rm -f ${LOG_DIR}/${LOG_NAME} - find ${LOG_DIR}/ -name "inductor_${suite}_${dt}_${mode}_xpu_${scenario}_card*.log" |xargs cat >> ${LOG_DIR}/${LOG_NAME} 2>&1 - if [ "${scenario}" == "accuracy" ];then - python ../torch-xpu-ops/.github/ci_expected_accuracy/check_expected.py \ - --suite $suite \ - --mode $mode \ - --dtype $dt \ - --csv_file ${LOG_DIR}/inductor_${suite}_${dt}_${mode}_xpu_${scenario}.csv \ - 2>&1 |tee -a inductor_log/summary_accuracy.log - fi - done - done - done - done - - - name: Summary E2E Test (${{ inputs.suite }} ${{ inputs.dt }} ${{ inputs.mode }} ${{ inputs.scenario }}) - shell: bash - env: - HUGGING_FACE_HUB_TOKEN: ${{ inputs.hf_token }} - run: | - cd ../pytorch - rm -f inductor_log/summary_accuracy.csv - for var in $(find inductor_log/ -name "inductor_*_xpu_accuracy.csv") - do - sed -i "s/$/,$(basename $var)/" $var - cat $var >> inductor_log/summary_accuracy.csv - done - - source activate e2e_ci - cd ${{ github.workspace }} - cp .github/scripts/inductor_summary.py ../pytorch - cd ../pytorch - pip install styleFrame scipy pandas - set -xe - dt=$(echo ${{ inputs.dt }} |sed 's/,/ /g') - mode=$(echo ${{ inputs.mode }} |sed 's/,/ /g') - suite=$(echo ${{ inputs.suite }} |sed 's/,/ /g') - scenario=$(echo ${{ inputs.scenario }} |sed 's/,/ /g') - python inductor_summary.py -p ${dt} -s ${suite} -m ${mode} -sc ${scenario} - + printenv \ No newline at end of file diff --git a/.github/workflows/nightly_ondemand_rolling.yml b/.github/workflows/nightly_ondemand_rolling.yml index 72709d88c..c025eb3c2 100644 --- a/.github/workflows/nightly_ondemand_rolling.yml +++ b/.github/workflows/nightly_ondemand_rolling.yml @@ -66,28 +66,8 @@ concurrency: cancel-in-progress: true 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,torch_xpu' || 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 - ut: op_regression,op_regression_dev1,op_extended,op_ut,torch_xpu - driver: rolling - runner: pvc_rolling - Linux-Nightly-Ondemand-E2E-Tests-Rolling: - runs-on: pvc_rolling + runs-on: linux # Don't run on forked repos if: github.repository_owner == 'intel' timeout-minutes: 3600 @@ -118,262 +98,4 @@ jobs: uses: actions/checkout@v4 - name: Prepare Conda ENV run: | - which conda && conda clean -ay - conda remove --all -y -n e2e_ci || rm -rf $(dirname ${CONDA_EXE})/../envs/e2e_ci - conda create -n e2e_ci python=${{ env.python }} cmake ninja -y - source activate e2e_ci - pip install mkl-static mkl-include - pip install pandas scipy tqdm - - name: Prepare Stock Pytorch - run: | - pwd - cd ../ && rm -rf pytorch - source activate e2e_ci - git clone https://github.com/pytorch/pytorch pytorch - cd pytorch && git checkout $(echo ${{ env.pytorch }} |awk '{print $1}') - # apply PRs for stock pytorch - pip install requests - python ../torch-xpu-ops/.github/scripts/apply_torch_pr.py - git status && git show -s - git submodule sync && git submodule update --init --recursive - if [[ ${{ env.keep_torch_xpu_ops }} == 'true' ]]; then - echo "Don't replace torch-xpu-ops!" - else - rm -rf third_party/torch-xpu-ops && cp -r ../torch-xpu-ops third_party/ - # Workaround for torch-xpu-ops ci test - sed -i "s/checkout --quiet \${TORCH_XPU_OPS_COMMIT}/log -n 1/g" caffe2/CMakeLists.txt - fi - - name: Identify pinned versions - id: pinned - run: | - source .github/scripts/env.sh - cd ../pytorch - if [ -z ${{ inputs.triton }} ]; then - echo "TRITON_COMMIT_ID=$(<.ci/docker/ci_commit_pins/triton-xpu.txt)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - else - echo "TRITON_COMMIT_ID=${{ inputs.triton }}" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - fi - echo "TORCH_BRANCH_ID=$(git rev-parse --abbrev-ref HEAD)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - echo "TORCH_COMMIT_ID=$(git rev-parse HEAD)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - echo "TORCHBENCH_COMMIT_ID=$(> "${GITHUB_ENV}" - echo "TORCHVISION_COMMIT_ID=$(<.github/ci_commit_pins/vision.txt)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - echo "TORCHAUDIO_COMMIT_ID=$(<.github/ci_commit_pins/audio.txt)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - echo "TRANSFORMERS_VERSION=$(<.ci/docker/ci_commit_pins/huggingface.txt)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - echo "TIMM_COMMIT_ID=$(<.ci/docker/ci_commit_pins/timm.txt)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - echo "MODEL_ONLY_NAME=${{ inputs.model }}" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - echo "DRIVER_VERSION=$(dkms status 2>&1 |grep 'intel-i915-dkms' |sed 's/.*\///;s/,.*//')" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - echo "KERNEL_VERSION=$(uname -rv 2>&1)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - echo "BUNDLE_VERSION=$(dpcpp --version 2>&1 |grep 'DPC++/C++' |sed 's/.*(//;s/).*//')" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - . /etc/os-release - echo "OS_PRETTY_NAME=${PRETTY_NAME}" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - echo "GCC_VERSION=$(gcc -dumpversion)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - echo ${GITHUB_ENV} - - name: Triton Installation - run: | - source activate e2e_ci - cd ../pytorch - TRITON_REPO="https://github.com/intel/intel-xpu-backend-for-triton" - echo ${TRITON_REPO}@${TRITON_COMMIT_ID} - pip install --force-reinstall "git+${TRITON_REPO}@${TRITON_COMMIT_ID}#subdirectory=python" - - name: Build Pytorch XPU - run: | - source activate e2e_ci - source .github/scripts/env.sh - cd ../pytorch - pip install -r requirements.txt - export CMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}:${CONDA_PREFIX:-"$(dirname $(which conda))/../"} - python setup.py bdist_wheel - pip install --force-reinstall dist/*.whl - - name: Show GITHUB_ENV - run: | - echo "$GITHUB_ENV" - rm -rf ../pytorch/inductor_log - rm -rf /tmp/torchinductor_* - - # Nihglty launch - - name: Nightly Huggingface FP32/BF16/FP16 Inference & Training Accuracy Test - if: github.event_name == 'schedule' && github.event.schedule == '30 13 * * 0-4' - uses: ./.github/actions/inductor-xpu-e2e-test - with: - suite: huggingface - env_prepare: true - dt: float32,bfloat16,float16 - mode: inference,training - scenario: accuracy - hf_token: ${{ secrets.HUGGING_FACE_HUB_TOKEN }} - driver: rolling - - name: Nightly Torchbench BF16 Training Accuracy Test - if: github.event_name == 'schedule' && github.event.schedule == '30 13 * * 0-4' - uses: ./.github/actions/inductor-xpu-e2e-test - with: - suite: torchbench - dt: bfloat16 - mode: training - scenario: accuracy - env_prepare: true - hf_token: ${{ secrets.HUGGING_FACE_HUB_TOKEN }} - driver: rolling - - name: Nightly Timm_models FP16 Training Accuracy Test - if: github.event_name == 'schedule' && github.event.schedule == '30 13 * * 0-4' - uses: ./.github/actions/inductor-xpu-e2e-test - with: - suite: timm_models - dt: float16 - mode: training - scenario: accuracy - env_prepare: true - hf_token: ${{ secrets.HUGGING_FACE_HUB_TOKEN }} - driver: rolling - # Weekly launch - - name: Weekly Huggingface Full Test - if: github.event_name == 'schedule' && github.event.schedule == '30 16 * * 5' - uses: ./.github/actions/inductor-xpu-e2e-test - with: - suite: huggingface - env_prepare: true - dt: float32,bfloat16,float16,amp_bf16,amp_fp16 - mode: inference,training - scenario: accuracy,performance - hf_token: ${{ secrets.HUGGING_FACE_HUB_TOKEN }} - driver: rolling - - name: Weekly Torchbench Full Test - if: github.event_name == 'schedule' && github.event.schedule == '30 16 * * 5' - uses: ./.github/actions/inductor-xpu-e2e-test - with: - suite: torchbench - env_prepare: true - dt: float32,bfloat16,float16,amp_bf16,amp_fp16 - mode: inference,training - scenario: accuracy,performance - hf_token: ${{ secrets.HUGGING_FACE_HUB_TOKEN }} - driver: rolling - - name: Weekly Timm_models Full Test - if: github.event_name == 'schedule' && github.event.schedule == '30 16 * * 5' - uses: ./.github/actions/inductor-xpu-e2e-test - with: - suite: timm_models - env_prepare: true - dt: float32,bfloat16,float16,amp_bf16,amp_fp16 - mode: inference,training - scenario: accuracy,performance - hf_token: ${{ secrets.HUGGING_FACE_HUB_TOKEN }} - driver: rolling - # On-demand launch - - name: OnDemand Test (${{ inputs.suite }} ${{ inputs.dt }} ${{ inputs.mode }} ${{ inputs.scenario }}) - if: github.event_name != 'schedule' - uses: ./.github/actions/inductor-xpu-e2e-test - with: - suite: ${{ inputs.suite }} - env_prepare: true - dt: ${{ inputs.dt }} - mode: ${{ inputs.mode }} - scenario: ${{ inputs.scenario }} - hf_token: ${{ secrets.HUGGING_FACE_HUB_TOKEN }} - driver: rolling - - - name: Summarize archieve files - id: summary - if: ${{ ! cancelled() }} - run: | - rm -rf ${{ github.workspace }}/upload_files - cp -r ${{ github.workspace }}/../pytorch/inductor_log ${{ github.workspace }}/upload_files - 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" + printenv \ No newline at end of file