Add test_amd_w7900 CI job including ROCM matmul tests (#17298)
Progress on https://github.com/iree-org/iree/issues/17159
ci-extra: test_amd_w7900
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 93616ee..efe15f8 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -429,6 +429,45 @@
run: |
./build_tools/cmake/ctest_all.sh ${BUILD_DIR}
+ test_amd_w7900:
+ needs: [setup, build_all]
+ if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'test_amd_w7900')
+ env:
+ BUILD_DIR: build-tests
+ INSTALL_DIR: ${{ needs.build_all.outputs.install-dir }}
+ INSTALL_DIR_ARCHIVE: ${{ needs.build_all.outputs.install-dir-archive }}
+ INSTALL_DIR_GCS_URL: ${{ needs.build_all.outputs.install-dir-gcs-url }}
+ IREE_CPU_DISABLE: 1
+ IREE_VULKAN_DISABLE: 0
+ IREE_CUDA_DISABLE: 1
+ IREE_HIP_DISABLE: 0
+ IREE_HIP_TEST_TARGET_CHIP: "gfx1100"
+ runs-on: nodai-amdgpu-w7900-x86-64
+ steps:
+ - name: "Checking out repository"
+ uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
+ - name: "Checking out runtime submodules"
+ run: ./build_tools/scripts/git/update_runtime_submodules.sh
+ - name: "Downloading install dir archive"
+ run: wget "${INSTALL_DIR_GCS_URL}" -O "${INSTALL_DIR_ARCHIVE}"
+ - name: "Extracting install directory"
+ run: tar -xf "${INSTALL_DIR_ARCHIVE}"
+ - name: "Building tests"
+ run: |
+ ./build_tools/pkgci/build_tests_using_package.sh ${INSTALL_DIR}
+ - name: "Running GPU tests"
+ env:
+ IREE_CTEST_LABEL_REGEX: ^requires-gpu|^driver=vulkan$|^driver=hip$
+ IREE_AMD_RDNA3_TESTS_DISABLE: 0
+ IREE_NVIDIA_GPU_TESTS_DISABLE: 0
+ IREE_NVIDIA_SM80_TESTS_DISABLE: 1
+ IREE_MULTI_DEVICE_TESTS_DISABLE: 0
+ IREE_CUDA_DISABLE: 1
+ IREE_CPU_DISABLE: 1
+ IREE_HIP_DISABLE: 0
+ run: |
+ ./build_tools/cmake/ctest_all.sh ${BUILD_DIR}
+
################################## Subsets ###################################
# Jobs that build some subset of IREE
##############################################################################
@@ -1116,6 +1155,7 @@
- test_nvidia_gpu
- test_nvidia_a100
- test_amd_mi250
+ - test_amd_w7900
# Subsets
- build_test_runtime
diff --git a/build_tools/github_actions/configure_ci.py b/build_tools/github_actions/configure_ci.py
index 1a0cebf..ecf7a55 100755
--- a/build_tools/github_actions/configure_ci.py
+++ b/build_tools/github_actions/configure_ci.py
@@ -130,6 +130,9 @@
"build_test_all_macos_x86_64",
# Due to the outstock of A100, only run this test in postsubmit.
"test_nvidia_a100",
+ # Due to the instability issues at the current runner,
+ # only run this test in postsubmit.
+ "test_amd_w7900",
]
)
diff --git a/tests/e2e/matmul/BUILD.bazel b/tests/e2e/matmul/BUILD.bazel
index ef1948a..9b11166 100644
--- a/tests/e2e/matmul/BUILD.bazel
+++ b/tests/e2e/matmul/BUILD.bazel
@@ -517,66 +517,6 @@
###########################################################################
##
-## ROCm backend
-##
-###########################################################################
-
-# Testing RDNA3 + matrix core path.
-iree_generated_e2e_runner_test(
- name = "e2e_matmul_rocm_f16_large_rdna3_wmma",
- compiler_flags = [
- "--iree-rocm-target-chip=gfx1100",
- ],
- generator = ":generate_e2e_matmul_tests",
- generator_args = [
- "--lhs_rhs_type=f16",
- "--acc_type=f32",
- "--shapes=gpu_large_aligned",
- "--compilation_info=LLVMGPUVectorDistributeWMMA",
- ],
- tags = [
- "noasan",
- "nomsan",
- "notsan",
- "noubsan",
- "requires-gpu-rdna3",
- ],
- target_backends_and_drivers = [
- ("rocm", "hip"),
- ],
- test_runner = "//tools/testing/e2e:iree-e2e-matmul-test",
- test_type = "matmul",
-)
-
-iree_generated_e2e_runner_test(
- name = "e2e_matmul_rocm_f16_large_rdna3_wmma_tb",
- compiler_flags = [
- "--iree-rocm-target-chip=gfx1100",
- ],
- generator = ":generate_e2e_matmul_tests",
- generator_args = [
- "--lhs_rhs_type=f16",
- "--acc_type=f32",
- "--transpose_rhs",
- "--shapes=gpu_large_aligned",
- "--compilation_info=LLVMGPUVectorDistributeWMMA",
- ],
- tags = [
- "noasan",
- "nomsan",
- "notsan",
- "noubsan",
- "requires-gpu-rdna3",
- ],
- target_backends_and_drivers = [
- ("rocm", "hip"),
- ],
- test_runner = "//tools/testing/e2e:iree-e2e-matmul-test",
- test_type = "matmul",
-)
-
-###########################################################################
-##
## Vulkan backend
##
###########################################################################
diff --git a/tests/e2e/matmul/CMakeLists.txt b/tests/e2e/matmul/CMakeLists.txt
index f7a4fe9..16c4d68 100644
--- a/tests/e2e/matmul/CMakeLists.txt
+++ b/tests/e2e/matmul/CMakeLists.txt
@@ -1814,63 +1814,6 @@
iree_generated_e2e_runner_test(
NAME
- e2e_matmul_rocm_f16_large_rdna3_wmma
- TEST_TYPE
- matmul
- GENERATOR
- "generate_e2e_matmul_tests.py"
- GENERATOR_ARGS
- "--lhs_rhs_type=f16"
- "--acc_type=f32"
- "--shapes=gpu_large_aligned"
- "--compilation_info=LLVMGPUVectorDistributeWMMA"
- TEST_RUNNER
- iree_tools_testing_e2e_iree-e2e-matmul-test
- TARGET_BACKENDS
- "rocm"
- DRIVERS
- "hip"
- COMPILER_FLAGS
- "--iree-rocm-target-chip=gfx1100"
- LABELS
- "noasan"
- "nomsan"
- "notsan"
- "noubsan"
- "requires-gpu-rdna3"
-)
-
-iree_generated_e2e_runner_test(
- NAME
- e2e_matmul_rocm_f16_large_rdna3_wmma_tb
- TEST_TYPE
- matmul
- GENERATOR
- "generate_e2e_matmul_tests.py"
- GENERATOR_ARGS
- "--lhs_rhs_type=f16"
- "--acc_type=f32"
- "--transpose_rhs"
- "--shapes=gpu_large_aligned"
- "--compilation_info=LLVMGPUVectorDistributeWMMA"
- TEST_RUNNER
- iree_tools_testing_e2e_iree-e2e-matmul-test
- TARGET_BACKENDS
- "rocm"
- DRIVERS
- "hip"
- COMPILER_FLAGS
- "--iree-rocm-target-chip=gfx1100"
- LABELS
- "noasan"
- "nomsan"
- "notsan"
- "noubsan"
- "requires-gpu-rdna3"
-)
-
-iree_generated_e2e_runner_test(
- NAME
e2e_matmul_vulkan_i8_large_valhall
TEST_TYPE
matmul
@@ -2042,7 +1985,8 @@
### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
-if(IREE_HIP_TEST_TARGET_CHIP MATCHES "^gfx")
+# To distinguish between CDNA(gfx9) and RDNA3(gfx11)
+if(IREE_HIP_TEST_TARGET_CHIP MATCHES "^gfx9")
unset(IREE_HIP_TEST_COMPILER_FLAGS)
list(APPEND IREE_HIP_TEST_COMPILER_FLAGS
@@ -2105,4 +2049,74 @@
"noubsan"
"requires-gpu-cdna3"
)
-endif(IREE_HIP_TEST_TARGET_CHIP MATCHES "^gfx")
+
+elseif(IREE_HIP_TEST_TARGET_CHIP MATCHES "^gfx11")
+
+unset(IREE_HIP_TEST_COMPILER_FLAGS)
+list(APPEND IREE_HIP_TEST_COMPILER_FLAGS
+ "--iree-rocm-target-chip=${IREE_HIP_TEST_TARGET_CHIP}"
+)
+
+iree_generated_e2e_runner_test(
+ NAME
+ e2e_matmul_rocm_f16_large_rdna3_wmma
+ TEST_TYPE
+ matmul
+ GENERATOR
+ "generate_e2e_matmul_tests.py"
+ GENERATOR_ARGS
+ "--lhs_rhs_type=f16"
+ "--acc_type=f32"
+ "--shapes=gpu_large_aligned"
+ "--compilation_info=LLVMGPUVectorDistributeWMMA"
+ TEST_RUNNER
+ iree_tools_testing_e2e_iree-e2e-matmul-test
+ TARGET_BACKENDS
+ "rocm"
+ DRIVERS
+ "hip"
+ COMPILER_FLAGS
+ ${IREE_HIP_TEST_COMPILER_FLAGS}
+ RUNNER_ARGS
+ "--require_exact_results=false"
+ "--acceptable_fp_delta=1e-04"
+ LABELS
+ "noasan"
+ "nomsan"
+ "notsan"
+ "noubsan"
+ "requires-gpu-rdna3"
+)
+
+iree_generated_e2e_runner_test(
+ NAME
+ e2e_matmul_rocm_f16_large_rdna3_wmma_tb
+ TEST_TYPE
+ matmul
+ GENERATOR
+ "generate_e2e_matmul_tests.py"
+ GENERATOR_ARGS
+ "--lhs_rhs_type=f16"
+ "--acc_type=f32"
+ "--transpose_rhs"
+ "--shapes=gpu_large_aligned"
+ "--compilation_info=LLVMGPUVectorDistributeWMMA"
+ TEST_RUNNER
+ iree_tools_testing_e2e_iree-e2e-matmul-test
+ TARGET_BACKENDS
+ "rocm"
+ DRIVERS
+ "hip"
+ COMPILER_FLAGS
+ ${IREE_HIP_TEST_COMPILER_FLAGS}
+ RUNNER_ARGS
+ "--require_exact_results=false"
+ "--acceptable_fp_delta=1e-04"
+ LABELS
+ "noasan"
+ "nomsan"
+ "notsan"
+ "noubsan"
+ "requires-gpu-rdna3"
+)
+endif()