| # Copyright 2025 The IREE Authors |
| # |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. |
| # See https://llvm.org/LICENSE.txt for license information. |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| name: PkgCI Sharktank Tests |
| on: |
| workflow_call: |
| inputs: |
| artifact_run_id: |
| type: string |
| default: "" |
| workflow_dispatch: |
| inputs: |
| artifact_run_id: |
| type: string |
| default: "" |
| |
| jobs: |
| tests: |
| name: "sharktank_tests :: ${{ matrix.name }}" |
| runs-on: ${{ matrix.runs-on }} |
| strategy: |
| fail-fast: false |
| matrix: |
| include: |
| # CPU |
| - name: cpu_task |
| target: target_cpu |
| rocm-chip: none |
| models-config-file: models_cpu_llvm_task.json |
| backend: cpu |
| iree_test_files: /home/nod/iree_tests_cache |
| sku: cpu |
| runs-on: |
| - self-hosted # must come first |
| - persistent-cache |
| - Linux |
| - X64 |
| |
| # AMD GPU |
| - name: amdgpu_rocm_mi250_gfx90a |
| rocm-chip: gfx90a |
| backend: rocm |
| iree_test_files: /groups/aig_sharks/iree-tests-cache |
| sku: mi250 |
| target: target_hip |
| runs-on: nodai-amdgpu-mi250-x86-64 |
| - name: amdgpu_rocm_mi300_gfx942 |
| rocm-chip: gfx942 |
| backend: rocm |
| iree_test_files: /shark-cache/data/iree-regression-cache |
| sku: mi300 |
| target: target_hip |
| runs-on: linux-mi325-1gpu-ossci-iree-org |
| - name: amdgpu_rocm_mi308_gfx942 |
| rocm-chip: gfx942 |
| backend: rocm |
| iree_test_files: /home/esaimana/iree_tests_cache |
| sku: mi308 |
| target: target_hip |
| runs-on: nodai-amdgpu-mi308-x86-64 |
| |
| env: |
| VENV_DIR: ${{ github.workspace }}/venv |
| PACKAGE_DOWNLOAD_DIR: ${{ github.workspace }}/.packages |
| TEST_OUTPUT_ARTIFACTS: ${{ github.workspace }}/model_output_artifacts |
| IREE_TEST_FILES: ${{ matrix.iree_test_files }} |
| steps: |
| - name: Checking out IREE repository |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
| with: |
| submodules: false |
| |
| - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v5.4.0 |
| with: |
| # Must match the subset of versions built in pkgci_build_packages. |
| python-version: "3.11" |
| |
| - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 |
| if: ${{ inputs.artifact_run_id == '' }} |
| with: |
| name: linux_x86_64_release_packages |
| path: ${{ env.PACKAGE_DOWNLOAD_DIR }} |
| |
| - name: Checkout test suites repository |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
| with: |
| repository: iree-org/iree-test-suites |
| ref: 615c14ea2dd082d132cd64cd92806bcc7fdb5c75 |
| path: iree-test-suites |
| lfs: true |
| |
| - name: Setup Python virtual environment |
| run: | |
| ./build_tools/pkgci/setup_venv.py ${VENV_DIR} \ |
| --artifact-path=${PACKAGE_DOWNLOAD_DIR} \ |
| --fetch-gh-workflow=${{ inputs.artifact_run_id }} |
| source ${VENV_DIR}/bin/activate |
| pip install -e ${{ github.workspace }}/iree-test-suites/sharktank_models |
| |
| - name: Run sharktank model tests |
| run: | |
| source ${VENV_DIR}/bin/activate |
| pytest iree-test-suites/sharktank_models \ |
| -rA \ |
| --log-cli-level=info \ |
| --override-ini=xfail_strict=false \ |
| -m ${{ matrix.target }} \ |
| --timeout=120 \ |
| --durations=0 \ |
| --ignore=iree-test-suites/sharktank_models/benchmarks \ |
| --ignore=iree-test-suites/sharktank_models/quality_tests |
| env: |
| HIP_TARGET: ${{ matrix.rocm-chip }} |
| ASSET_PATH: ${{ github.workspace }}/iree-test-suites/sharktank_models |
| |
| - name: Run quality tests |
| run: | |
| source ${VENV_DIR}/bin/activate |
| pytest \ |
| iree-test-suites/sharktank_models/quality_tests \ |
| -rpFe \ |
| --log-cli-level=info \ |
| --durations=0 \ |
| --timeout=1200 \ |
| --capture=no \ |
| --test-file-directory=${{ github.workspace }}/tests/external/iree-test-suites/sharktank_models/quality_tests \ |
| --external-file-directory=${{ github.workspace }}/tests/external/iree-test-suites/test_suite_files |
| env: |
| ROCM_CHIP: ${{ matrix.rocm-chip }} |
| SKU: ${{ matrix.sku }} |
| IREE_TEST_FILES: ${{ env.IREE_TEST_FILES }} |
| BACKEND: ${{ matrix.backend }} |
| |
| |
| # Since the benchmark tests require compiled model files, this step must run after the quality tests |
| - name: Run benchmark tests |
| run: | |
| source ${VENV_DIR}/bin/activate |
| pytest \ |
| iree-test-suites/sharktank_models/benchmarks \ |
| --log-cli-level=info \ |
| --retries=7 \ |
| --timeout=600 \ |
| --test-file-directory=${{ github.workspace }}/tests/external/iree-test-suites/sharktank_models/benchmarks \ |
| --external-file-directory=${{ github.workspace }}/tests/external/iree-test-suites/test_suite_files |
| |
| echo "$(<${JOB_SUMMARY_PATH}/job_summary.md )" >> $GITHUB_STEP_SUMMARY |
| env: |
| ROCM_CHIP: ${{ matrix.rocm-chip }} |
| SKU: ${{ matrix.sku }} |
| IREE_TEST_FILES: ${{ env.IREE_TEST_FILES }} |
| BACKEND: ${{ matrix.backend }} |
| JOB_SUMMARY_PATH: ${{ github.workspace }}/iree-test-suites |
| |
| |
| # These temporary tests are designed for targets who do not have cached |
| # artifacts and unable to run quality and benchmark tests |
| # TODO (geomin12): add cached artifact support for w7900 |
| model-test: |
| name: "sharktank_model_tests :: ${{ matrix.name }}" |
| runs-on: ${{ matrix.runs-on }} |
| strategy: |
| fail-fast: false |
| matrix: |
| include: |
| - name: rocm_hip_w7900 |
| rocm-chip: gfx1100 |
| target: target_hip |
| runs-on: nodai-amdgpu-w7900-x86-64 |
| env: |
| VENV_DIR: ${{ github.workspace }}/venv |
| PACKAGE_DOWNLOAD_DIR: ${{ github.workspace }}/.packages |
| TEST_OUTPUT_ARTIFACTS: ${{ github.workspace }}/model_output_artifacts |
| steps: |
| - name: Checking out IREE repository |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
| with: |
| submodules: false |
| |
| - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v5.4.0 |
| with: |
| # Must match the subset of versions built in pkgci_build_packages. |
| python-version: "3.11" |
| |
| - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 |
| if: ${{ inputs.artifact_run_id == '' }} |
| with: |
| name: linux_x86_64_release_packages |
| path: ${{ env.PACKAGE_DOWNLOAD_DIR }} |
| |
| - name: Checkout test suites repository |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
| with: |
| repository: iree-org/iree-test-suites |
| ref: 615c14ea2dd082d132cd64cd92806bcc7fdb5c75 |
| path: iree-test-suites |
| lfs: true |
| |
| - name: Setup Python virtual environment |
| run: | |
| ./build_tools/pkgci/setup_venv.py ${VENV_DIR} \ |
| --artifact-path=${PACKAGE_DOWNLOAD_DIR} \ |
| --fetch-gh-workflow=${{ inputs.artifact_run_id }} |
| source ${VENV_DIR}/bin/activate |
| pip install -e ${{ github.workspace }}/iree-test-suites/sharktank_models |
| |
| - name: Run sharktank model tests |
| run: | |
| source ${VENV_DIR}/bin/activate |
| pytest iree-test-suites/sharktank_models \ |
| -rA \ |
| --log-cli-level=info \ |
| --override-ini=xfail_strict=false \ |
| -m ${{ matrix.target }} \ |
| --timeout=120 \ |
| --durations=0 \ |
| --ignore=iree-test-suites/sharktank_models/benchmarks \ |
| --ignore=iree-test-suites/sharktank_models/quality_tests |
| env: |
| HIP_TARGET: ${{ matrix.rocm-chip }} |
| ASSET_PATH: ${{ github.workspace }}/iree-test-suites/sharktank_models |