Simplify tests/e2e/tosa_ops. (#17850)
Follow-up to https://github.com/iree-org/iree/pull/17843, forked from
https://github.com/iree-org/iree/pull/17766
Fixes https://github.com/iree-org/iree/issues/11828
diff --git a/tests/e2e/stablehlo_ops/BUILD.bazel b/tests/e2e/stablehlo_ops/BUILD.bazel
index 4d8a31a..e10b217 100644
--- a/tests/e2e/stablehlo_ops/BUILD.bazel
+++ b/tests/e2e/stablehlo_ops/BUILD.bazel
@@ -327,7 +327,7 @@
)
iree_check_single_backend_test_suite(
- name = "check_meta-spirv_metal",
+ name = "check_metal-spirv_metal",
srcs = enforce_glob(
# keep sorted
[
diff --git a/tests/e2e/stablehlo_ops/CMakeLists.txt b/tests/e2e/stablehlo_ops/CMakeLists.txt
index eeae196..2050c52 100644
--- a/tests/e2e/stablehlo_ops/CMakeLists.txt
+++ b/tests/e2e/stablehlo_ops/CMakeLists.txt
@@ -555,7 +555,7 @@
iree_check_single_backend_test_suite(
NAME
- check_meta-spirv_metal
+ check_metal-spirv_metal
SRCS
"abs.mlir"
"add.mlir"
diff --git a/tests/e2e/tosa_ops/BUILD.bazel b/tests/e2e/tosa_ops/BUILD.bazel
index 5deadce..cf3a690 100644
--- a/tests/e2e/tosa_ops/BUILD.bazel
+++ b/tests/e2e/tosa_ops/BUILD.bazel
@@ -4,12 +4,6 @@
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-# Tests of end-to-end IREE support for individual ops in the TOSA dialect.
-# Each test file should have a name matching the corresponding TOSA op and test only the
-# functionality of that op (though may make use of other ops where necessary). Tests should be
-# written using the IREE Check framework.
-# See https://iree.dev/developers/general/testing-guide/#iree-core-end-to-end-e2e-tests.
-
load("//build_tools/bazel:enforce_glob.bzl", "enforce_glob")
load("//build_tools/bazel:iree_check_test.bzl", "iree_check_single_backend_test_suite")
@@ -18,7 +12,7 @@
licenses = ["notice"], # Apache 2.0
)
-LLVM_SRCS = enforce_glob(
+ALL_SRCS = enforce_glob(
[
"abs.mlir",
"add.mlir",
@@ -67,119 +61,23 @@
iree_check_single_backend_test_suite(
name = "check_llvm-cpu_local-task",
- srcs = LLVM_SRCS,
+ srcs = ALL_SRCS,
driver = "local-task",
input_type = "tosa",
target_backend = "llvm-cpu",
)
-VMVX_SRCS = enforce_glob(
- [
- "abs.mlir",
- "add.mlir",
- "arithmetic_right_shift.mlir",
- "bitwise_and.mlir",
- "bitwise_or.mlir",
- "bitwise_xor.mlir",
- "ceil.mlir",
- "clamp.mlir",
- "clz.mlir",
- "const.mlir",
- "equal.mlir",
- "exp.mlir",
- "floor.mlir",
- "fully_connected.mlir",
- "gather.mlir",
- "greater.mlir",
- "greater_equal.mlir",
- "if.mlir",
- "log.mlir",
- "logical_left_shift.mlir",
- "logical_right_shift.mlir",
- "logical_right_shift_16.mlir",
- "matmul.mlir",
- "max_pool.mlir",
- "maximum.mlir",
- "minimum.mlir",
- "mul.mlir",
- "mul_shift.mlir",
- "negate.mlir",
- "pad.mlir",
- "reciprocal.mlir",
- "reshape.mlir",
- "rsqrt.mlir",
- "select.mlir",
- "sigmoid.mlir",
- "sub.mlir",
- "table.mlir",
- "tanh.mlir",
- "transpose.mlir",
- "while.mlir",
- ],
- include = ["*.mlir"],
- exclude = [
- "reduce.mlir", # Currently flakey https://github.com/iree-org/iree/issues/5885
- ],
-)
-
iree_check_single_backend_test_suite(
name = "check_vmvx_local-task",
- srcs = VMVX_SRCS,
+ srcs = ALL_SRCS,
driver = "local-task",
input_type = "tosa",
target_backend = "vmvx",
)
-VMVX_MICROKERNELS_SRCS = enforce_glob(
- [
- "abs.mlir",
- "add.mlir",
- "arithmetic_right_shift.mlir",
- "bitwise_and.mlir",
- "bitwise_or.mlir",
- "bitwise_xor.mlir",
- "ceil.mlir",
- "clamp.mlir",
- "clz.mlir",
- "const.mlir",
- "equal.mlir",
- "exp.mlir",
- "floor.mlir",
- "fully_connected.mlir",
- "gather.mlir",
- "greater.mlir",
- "greater_equal.mlir",
- "if.mlir",
- "log.mlir",
- "logical_left_shift.mlir",
- "logical_right_shift.mlir",
- "logical_right_shift_16.mlir",
- "matmul.mlir",
- "max_pool.mlir",
- "maximum.mlir",
- "minimum.mlir",
- "mul.mlir",
- "mul_shift.mlir",
- "negate.mlir",
- "pad.mlir",
- "reciprocal.mlir",
- "reduce.mlir",
- "reshape.mlir",
- "rsqrt.mlir",
- "select.mlir",
- "sigmoid.mlir",
- "sub.mlir",
- "table.mlir",
- "tanh.mlir",
- "transpose.mlir",
- "while.mlir",
- ],
- include = ["*.mlir"],
-)
-
iree_check_single_backend_test_suite(
name = "check_vmvx_local-sync_microkernels",
- srcs = VMVX_MICROKERNELS_SRCS,
+ srcs = ALL_SRCS,
compiler_flags = [
"--iree-vmvx-enable-microkernels",
],
@@ -189,64 +87,23 @@
target_backend = "vmvx",
)
-VULKAN_SRCS = enforce_glob(
- [
- "abs.mlir",
- "add.mlir",
- "arithmetic_right_shift.mlir",
- "bitwise_and.mlir",
- "bitwise_or.mlir",
- "bitwise_xor.mlir",
- "ceil.mlir",
- "clamp.mlir",
- "clz.mlir",
- "const.mlir",
- "equal.mlir",
- "exp.mlir",
- "floor.mlir",
- "fully_connected.mlir",
- "gather.mlir",
- "greater.mlir",
- "greater_equal.mlir",
- "if.mlir",
- "log.mlir",
- "logical_left_shift.mlir",
- "logical_right_shift.mlir",
- "matmul.mlir",
- "max_pool.mlir",
- "maximum.mlir",
- "minimum.mlir",
- "mul_shift.mlir",
- "mul.mlir",
- "negate.mlir",
- "pad.mlir",
- "reciprocal.mlir",
- "reduce.mlir",
- "reshape.mlir",
- "rsqrt.mlir",
- "select.mlir",
- "sigmoid.mlir",
- "sub.mlir",
- "table.mlir",
- "tanh.mlir",
- "transpose.mlir",
- "while.mlir",
- ],
- include = ["*.mlir"],
- exclude = [
- "logical_right_shift_16.mlir", # TODO(#11828)
- ],
-)
-
iree_check_single_backend_test_suite(
name = "check_vulkan-spirv_vulkan",
- srcs = VULKAN_SRCS,
+ srcs = ALL_SRCS,
driver = "vulkan",
input_type = "tosa",
target_backend = "vulkan-spirv",
)
-CUDA_SRCS = enforce_glob(
+iree_check_single_backend_test_suite(
+ name = "check_metal-spirv_metal",
+ srcs = ALL_SRCS,
+ driver = "metal",
+ input_type = "tosa",
+ target_backend = "metal-spirv",
+)
+
+ROCM_AND_CUDA_SRCS = enforce_glob(
[
"abs.mlir",
"add.mlir",
@@ -291,13 +148,13 @@
],
include = ["*.mlir"],
exclude = [
- "mul_shift.mlir",
+ "mul_shift.mlir", # error: cannot be converted to LLVM IR: missing `LLVMTranslationDialectInterface` registration for dialect for op: tosa.apply_scale
],
)
iree_check_single_backend_test_suite(
name = "check_cuda_graph",
- srcs = CUDA_SRCS,
+ srcs = ROCM_AND_CUDA_SRCS,
compiler_flags = [
# TODO(#13984): memset emulation required for graphs.
"--iree-stream-emulate-memset",
@@ -318,7 +175,7 @@
iree_check_single_backend_test_suite(
name = "check_cuda_stream",
- srcs = CUDA_SRCS,
+ srcs = ROCM_AND_CUDA_SRCS,
driver = "cuda",
input_type = "tosa",
runner_args = ["--cuda_use_streams=true"],
@@ -333,13 +190,13 @@
target_backend = "cuda",
)
-test_suite(
- name = "check",
- tests = [
- ":check_cuda_graph",
- ":check_cuda_stream",
- ":check_llvm-cpu_local-task",
- ":check_vmvx_local-task",
- ":check_vulkan-spirv_vulkan",
+iree_check_single_backend_test_suite(
+ name = "check_rocm_hip_stream",
+ srcs = ROCM_AND_CUDA_SRCS,
+ driver = "hip",
+ input_type = "tosa",
+ runner_args = [
+ "--hip_use_streams=true",
],
+ target_backend = "rocm",
)
diff --git a/tests/e2e/tosa_ops/CMakeLists.txt b/tests/e2e/tosa_ops/CMakeLists.txt
index 0eb48b1..9e28378 100644
--- a/tests/e2e/tosa_ops/CMakeLists.txt
+++ b/tests/e2e/tosa_ops/CMakeLists.txt
@@ -98,6 +98,7 @@
"negate.mlir"
"pad.mlir"
"reciprocal.mlir"
+ "reduce.mlir"
"reshape.mlir"
"rsqrt.mlir"
"select.mlir"
@@ -195,6 +196,7 @@
"log.mlir"
"logical_left_shift.mlir"
"logical_right_shift.mlir"
+ "logical_right_shift_16.mlir"
"matmul.mlir"
"max_pool.mlir"
"maximum.mlir"
@@ -224,6 +226,59 @@
iree_check_single_backend_test_suite(
NAME
+ check_metal-spirv_metal
+ SRCS
+ "abs.mlir"
+ "add.mlir"
+ "arithmetic_right_shift.mlir"
+ "bitwise_and.mlir"
+ "bitwise_or.mlir"
+ "bitwise_xor.mlir"
+ "ceil.mlir"
+ "clamp.mlir"
+ "clz.mlir"
+ "const.mlir"
+ "equal.mlir"
+ "exp.mlir"
+ "floor.mlir"
+ "fully_connected.mlir"
+ "gather.mlir"
+ "greater.mlir"
+ "greater_equal.mlir"
+ "if.mlir"
+ "log.mlir"
+ "logical_left_shift.mlir"
+ "logical_right_shift.mlir"
+ "logical_right_shift_16.mlir"
+ "matmul.mlir"
+ "max_pool.mlir"
+ "maximum.mlir"
+ "minimum.mlir"
+ "mul.mlir"
+ "mul_shift.mlir"
+ "negate.mlir"
+ "pad.mlir"
+ "reciprocal.mlir"
+ "reduce.mlir"
+ "reshape.mlir"
+ "rsqrt.mlir"
+ "select.mlir"
+ "sigmoid.mlir"
+ "sub.mlir"
+ "table.mlir"
+ "tanh.mlir"
+ "transpose.mlir"
+ "while.mlir"
+ TARGET_BACKEND
+ "metal-spirv"
+ DRIVER
+ "metal"
+ INPUT_TYPE
+ "tosa"
+)
+
+iree_check_single_backend_test_suite(
+ NAME
check_cuda_graph
SRCS
"abs.mlir"
@@ -344,6 +399,60 @@
"requires-gpu-nvidia"
)
+iree_check_single_backend_test_suite(
+ NAME
+ check_rocm_hip_stream
+ SRCS
+ "abs.mlir"
+ "add.mlir"
+ "arithmetic_right_shift.mlir"
+ "bitwise_and.mlir"
+ "bitwise_or.mlir"
+ "bitwise_xor.mlir"
+ "ceil.mlir"
+ "clamp.mlir"
+ "clz.mlir"
+ "const.mlir"
+ "equal.mlir"
+ "exp.mlir"
+ "floor.mlir"
+ "fully_connected.mlir"
+ "gather.mlir"
+ "greater.mlir"
+ "greater_equal.mlir"
+ "if.mlir"
+ "log.mlir"
+ "logical_left_shift.mlir"
+ "logical_right_shift.mlir"
+ "logical_right_shift_16.mlir"
+ "matmul.mlir"
+ "max_pool.mlir"
+ "maximum.mlir"
+ "minimum.mlir"
+ "mul.mlir"
+ "negate.mlir"
+ "pad.mlir"
+ "reciprocal.mlir"
+ "reduce.mlir"
+ "reshape.mlir"
+ "rsqrt.mlir"
+ "select.mlir"
+ "sigmoid.mlir"
+ "sub.mlir"
+ "table.mlir"
+ "tanh.mlir"
+ "transpose.mlir"
+ "while.mlir"
+ TARGET_BACKEND
+ "rocm"
+ DRIVER
+ "hip"
+ INPUT_TYPE
+ "tosa"
+ RUNNER_ARGS
+ "--hip_use_streams=true"
+)
+
### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
iree_check_single_backend_test_suite(
@@ -402,59 +511,6 @@
iree_check_single_backend_test_suite(
NAME
- check_metal-spirv_metal
- SRCS
- "abs.mlir"
- "add.mlir"
- "arithmetic_right_shift.mlir"
- "bitwise_and.mlir"
- "bitwise_or.mlir"
- "bitwise_xor.mlir"
- "ceil.mlir"
- "clamp.mlir"
- "clz.mlir"
- "const.mlir"
- "equal.mlir"
- "exp.mlir"
- "floor.mlir"
- "fully_connected.mlir"
- "gather.mlir"
- "greater.mlir"
- "greater_equal.mlir"
- "if.mlir"
- "log.mlir"
- "logical_left_shift.mlir"
- "logical_right_shift.mlir"
- "logical_right_shift_16.mlir"
- "matmul.mlir"
- "max_pool.mlir"
- "maximum.mlir"
- "minimum.mlir"
- "mul.mlir"
- "mul_shift.mlir"
- "negate.mlir"
- "pad.mlir"
- "reciprocal.mlir"
- "reduce.mlir"
- "reshape.mlir"
- "rsqrt.mlir"
- "select.mlir"
- "sigmoid.mlir"
- "sub.mlir"
- "table.mlir"
- "tanh.mlir"
- "transpose.mlir"
- "while.mlir"
- TARGET_BACKEND
- "metal-spirv"
- DRIVER
- "metal"
- COMPILER_FLAGS
- "--iree-input-type=tosa"
-)
-
-iree_check_single_backend_test_suite(
- NAME
check_rocm-rocm
SRCS
"abs.mlir"
@@ -506,75 +562,3 @@
COMPILER_FLAGS
"--iree-input-type=tosa"
)
-
-if(IREE_HIP_TEST_TARGET_CHIP MATCHES "^gfx")
-
-unset(IREE_HIP_TEST_COMPILER_FLAGS)
-list(APPEND IREE_HIP_TEST_COMPILER_FLAGS
- "--iree-rocm-target-chip=${IREE_HIP_TEST_TARGET_CHIP}"
-)
-
-iree_check_single_backend_test_suite(
- NAME
- check_hip_stream
- SRCS
- "abs.mlir"
- "add.mlir"
- "arithmetic_right_shift.mlir"
- "bitwise_and.mlir"
- "bitwise_or.mlir"
- "bitwise_xor.mlir"
- "ceil.mlir"
- "clamp.mlir"
- "clz.mlir"
- "const.mlir"
- "equal.mlir"
- "exp.mlir"
- "floor.mlir"
- "fully_connected.mlir"
- "gather.mlir"
- "greater.mlir"
- "greater_equal.mlir"
- "if.mlir"
- "log.mlir"
- "logical_left_shift.mlir"
- "logical_right_shift.mlir"
- "logical_right_shift_16.mlir"
- "matmul.mlir"
- "max_pool.mlir"
- "maximum.mlir"
- "minimum.mlir"
- "mul.mlir"
- #"mul_shift.mlir" (compilation failure)
- "negate.mlir"
- "pad.mlir"
- "reciprocal.mlir"
- #"reduce.mlir" (compilation failure)
- "reshape.mlir"
- "rsqrt.mlir"
- "select.mlir"
- "sigmoid.mlir"
- "sub.mlir"
- "table.mlir"
- "tanh.mlir"
- "transpose.mlir"
- "while.mlir"
- TARGET_BACKEND
- "rocm"
- DRIVER
- "hip"
- COMPILER_FLAGS
- ${IREE_HIP_TEST_COMPILER_FLAGS}
- INPUT_TYPE
- "tosa"
- RUNNER_ARGS
- "--hip_use_streams=true"
- LABELS
- "noasan"
- "nomsan"
- "notsan"
- "noubsan"
- "requires-gpu-amd"
-)
-
-endif(IREE_HIP_TEST_TARGET_CHIP MATCHES "^gfx")