diff --git a/.github/workflows/pkgci.yml b/.github/workflows/pkgci.yml index 48013b8e6757..8ebe09c4b330 100644 --- a/.github/workflows/pkgci.yml +++ b/.github/workflows/pkgci.yml @@ -64,6 +64,12 @@ jobs: if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'test_amd_w7900') uses: ./.github/workflows/pkgci_test_amd_w7900.yml + test_amd_r9700: + name: Test AMD R9700 + needs: [setup, build_packages] + if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'test_amd_r9700') + uses: ./.github/workflows/pkgci_test_amd_r9700.yml + # TODO(#18238): migrate to new runner cluster # test_nvidia_t4: # name: Test NVIDIA T4 @@ -135,6 +141,7 @@ jobs: - test_amd_mi250 - test_amd_mi325 - test_amd_w7900 + - test_amd_r9700 # - test_nvidia_t4 - test_android - test_riscv64 diff --git a/.github/workflows/pkgci_test_amd_r9700.yml b/.github/workflows/pkgci_test_amd_r9700.yml new file mode 100644 index 000000000000..736769da82f7 --- /dev/null +++ b/.github/workflows/pkgci_test_amd_r9700.yml @@ -0,0 +1,67 @@ +# Copyright 2026 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 Test AMD R9700 +on: + workflow_call: + inputs: + artifact_run_id: + type: string + default: "" + workflow_dispatch: + inputs: + artifact_run_id: + type: string + default: "" + +jobs: + test_r9700: + runs-on: [Linux, X64, iree-r9700] + env: + PACKAGE_DOWNLOAD_DIR: ${{ github.workspace }}/.packages + BUILD_DIR: build-tests + VENV_DIR: ${{ github.workspace }}/.venv + GH_TOKEN: ${{ github.token }} + IREE_CPU_DISABLE: 1 + IREE_VULKAN_DISABLE: 0 + IREE_CUDA_ENABLE: 0 + IREE_HIP_ENABLE: 1 + IREE_HIP_TEST_TARGET_CHIP: "gfx1201" + steps: + - name: Check out repository + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + submodules: false + - name: Check out runtime submodules + run: ./build_tools/scripts/git/update_runtime_submodules.sh + - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 + with: + # Must match the subset of versions built in pkgci_build_packages. + python-version: "3.11" + - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 + if: ${{ inputs.artifact_run_id == '' }} + with: + name: linux_x86_64_release_packages + path: ${{ env.PACKAGE_DOWNLOAD_DIR }} + - name: Setup base venv + run: | + ./build_tools/pkgci/setup_venv.py ${VENV_DIR} \ + --artifact-path=${PACKAGE_DOWNLOAD_DIR} \ + --fetch-gh-workflow=${{ inputs.artifact_run_id }} + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Build tests + run: ./build_tools/pkgci/build_tests_using_package.sh ${VENV_DIR}/bin + - name: Run GPU tests + env: + CTEST_PARALLEL_LEVEL: 1 + IREE_CTEST_LABEL_REGEX: ^requires-gpu|^driver=vulkan$|^driver=hip$ + IREE_AMD_RDNA4_TESTS_DISABLE: 0 + IREE_NVIDIA_GPU_TESTS_DISABLE: 0 + IREE_NVIDIA_SM80_TESTS_DISABLE: 1 + IREE_MULTI_DEVICE_TESTS_DISABLE: 0 + run: ./build_tools/cmake/ctest_all.sh ${BUILD_DIR} diff --git a/.github/workflows/pkgci_test_onnx.yml b/.github/workflows/pkgci_test_onnx.yml index 9e228f45341a..1c2dc7fcd399 100644 --- a/.github/workflows/pkgci_test_onnx.yml +++ b/.github/workflows/pkgci_test_onnx.yml @@ -47,6 +47,11 @@ jobs: numprocesses: 1 config-file: onnx_ops_gpu_hip_rdna3_O3.json runs-on: [Linux, X64, gfx1100] + # TODO(#23160): Fix the onnx ops test suite for gfx1201. + # - name: amdgpu_hip_rdna4_O3 + # numprocesses: 1 + # config-file: onnx_ops_gpu_hip_rdna4_O3.json + # runs-on: [Linux, X64, gfx1201] - name: amdgpu_vulkan_O0 numprocesses: 1 config-file: onnx_ops_gpu_vulkan_O0.json @@ -154,6 +159,9 @@ jobs: - name: amdgpu_hip_rdna3 config-file: onnx_models_gpu_hip_rdna3.json runs-on: [Linux, X64, gfx1100, persistent-cache] + - name: amdgpu_hip_rdna4 + config-file: onnx_models_gpu_hip_rdna4.json + runs-on: [Linux, X64, gfx1201, persistent-cache] - name: amdgpu_vulkan config-file: onnx_models_gpu_vulkan.json # TODO(#22579): Remove `shark10-ci` label. There are vulkan driver issues on other runners. diff --git a/.github/workflows/pkgci_test_torch.yml b/.github/workflows/pkgci_test_torch.yml index 3627b31a4c3d..d58bf432be78 100644 --- a/.github/workflows/pkgci_test_torch.yml +++ b/.github/workflows/pkgci_test_torch.yml @@ -37,6 +37,9 @@ jobs: - name: amdgpu_hip_gfx1100_O3 config-file: torch_ops_gpu_hip_gfx1100_O3.json runs-on: [Linux, X64, gfx1100] + - name: amdgpu_hip_gfx1201_O3 + config-file: torch_ops_gpu_hip_gfx1201_O3.json + runs-on: [Linux, X64, gfx1201] - name: amdgpu_vulkan_O3 config-file: torch_ops_gpu_vulkan_O3.json # TODO(#22579): Remove `shark10-ci` label. There are vulkan driver issues on other runners. diff --git a/tests/external/iree-test-suites/onnx_models/onnx_models_gpu_hip_rdna4.json b/tests/external/iree-test-suites/onnx_models/onnx_models_gpu_hip_rdna4.json new file mode 100644 index 000000000000..cca9d5e3cc8f --- /dev/null +++ b/tests/external/iree-test-suites/onnx_models/onnx_models_gpu_hip_rdna4.json @@ -0,0 +1,30 @@ +{ + "config_name": "gpu_hip_rdna4", + "iree_compile_flags": [ + "--iree-hal-target-device=hip", + "--iree-hip-target=gfx1201" + ], + "iree_run_module_flags": [ + "--device=hip" + ], + "tests_and_expected_outcomes": { + "default": "skip", + "tests/model_zoo/validated/vision/body_analysis_models_test.py::test_models[age_gender/models/age_googlenet.onnx]": "pass", + "tests/model_zoo/validated/vision/classification_models_test.py::test_models[alexnet/model/bvlcalexnet-12.onnx]": "pass", + "tests/model_zoo/validated/vision/classification_models_test.py::test_models[caffenet/model/caffenet-12.onnx]": "pass", + "tests/model_zoo/validated/vision/classification_models_test.py::test_models[densenet-121/model/densenet-12.onnx]": "pass", + "tests/model_zoo/validated/vision/classification_models_test.py::test_models[efficientnet-lite4/model/efficientnet-lite4-11.onnx]": "pass", + "tests/model_zoo/validated/vision/classification_models_test.py::test_models[inception_and_googlenet/googlenet/model/googlenet-12.onnx]": "pass", + "tests/model_zoo/validated/vision/classification_models_test.py::test_models[inception_and_googlenet/inception_v2/model/inception-v2-9.onnx]": "pass", + "tests/model_zoo/validated/vision/classification_models_test.py::test_models[mnist/model/mnist-12.onnx]": "pass", + "tests/model_zoo/validated/vision/classification_models_test.py::test_models[mobilenet/model/mobilenetv2-12.onnx]": "pass", + "tests/model_zoo/validated/vision/classification_models_test.py::test_models[rcnn_ilsvrc13/model/rcnn-ilsvrc13-9.onnx]": "pass", + "tests/model_zoo/validated/vision/classification_models_test.py::test_models[resnet/model/resnet50-v1-12.onnx]": "pass", + "tests/model_zoo/validated/vision/classification_models_test.py::test_models[resnet/model/resnet50-v2-7.onnx]": "pass", + "tests/model_zoo/validated/vision/classification_models_test.py::test_models[shufflenet/model/shufflenet-9.onnx]": "pass", + "tests/model_zoo/validated/vision/classification_models_test.py::test_models[shufflenet/model/shufflenet-v2-12.onnx]": "pass", + "tests/model_zoo/validated/vision/object_detection_segmentation_models_test.py::test_models[tiny-yolov2/model/tinyyolov2-8.onnx]": "pass", + "tests/model_zoo/validated/vision/object_detection_segmentation_models_test.py::test_models[yolov2-coco/model/yolov2-coco-9.onnx]": "pass", + "tests/model_zoo/validated/vision/super_resolution_models_test.py::test_models[sub_pixel_cnn_2016/model/super-resolution-10.onnx]": "pass" + } +} diff --git a/tests/external/iree-test-suites/onnx_ops/onnx_ops_gpu_hip_rdna4_O3.json b/tests/external/iree-test-suites/onnx_ops/onnx_ops_gpu_hip_rdna4_O3.json new file mode 100644 index 000000000000..b7afbda04c6a --- /dev/null +++ b/tests/external/iree-test-suites/onnx_ops/onnx_ops_gpu_hip_rdna4_O3.json @@ -0,0 +1,27 @@ +{ + "config_name": "gpu_hip_rdna4", + "iree_compile_flags": [ + "--iree-hal-target-device=hip", + "--iree-hip-target=gfx1201", + "--iree-input-demote-f64-to-f32=false", + "--iree-opt-level=O3" + ], + "iree_run_module_flags": [ + "--device=hip" + ], + "skip_compile_tests": [ + "onnx/node/generated/test_dequantizelinear", + "onnx/node/generated/test_einsum_inner_prod", + "onnx/node/generated/test_group_normalization_epsilon_expanded", + "onnx/node/generated/test_group_normalization_example_expanded", + "onnx/node/generated/test_nonmaxsuppression_two_batches", + "onnx/node/generated/test_constantofshape_int_shape_zero" + ], + "skip_run_tests": [ + "onnx/node/generated/test_top_k", + "onnx/node/generated/test_top_k_negative_axis", + "onnx/node/generated/test_top_k_smallest" + ], + "expected_compile_failures": [], + "expected_run_failures": [] +} diff --git a/tests/external/iree-test-suites/torch_ops/torch_ops_gpu_hip_gfx1201_O3.json b/tests/external/iree-test-suites/torch_ops/torch_ops_gpu_hip_gfx1201_O3.json new file mode 100644 index 000000000000..a1dd3b1519cf --- /dev/null +++ b/tests/external/iree-test-suites/torch_ops/torch_ops_gpu_hip_gfx1201_O3.json @@ -0,0 +1,19 @@ +{ + "config_name": "gpu_hip_gfx1201", + "iree_compile_flags": [ + "--iree-hal-target-device=hip", + "--iree-hip-target=gfx1201", + "--iree-opt-level=O3" + ], + "iree_run_module_flags": [ + "--device=hip" + ], + "skip_compile_tests": [], + "skip_run_tests": [ + "ABPlusC/64x64xf16", + "ATB/64x64xf16" + ], + "expected_compile_failures": [], + "expected_run_failures": [], + "golden_times_ms": {} +}