Add e2e tests for winograd (#11428)
This patch adds e2e tests to validate the
accuracy of the winograd convolution.
diff --git a/tests/e2e/linalg/BUILD b/tests/e2e/linalg/BUILD
index a7cf366..f269320 100644
--- a/tests/e2e/linalg/BUILD
+++ b/tests/e2e/linalg/BUILD
@@ -33,6 +33,16 @@
target_backend = "llvm-cpu",
)
+iree_check_single_backend_test_suite(
+ name = "check_winograd_llvm-cpu_local-task",
+ srcs = LLVM_SRCS,
+ compiler_flags = [
+ "--iree-flow-enable-conv-winograd-transform",
+ ],
+ driver = "local-task",
+ target_backend = "llvm-cpu",
+)
+
VMVX_SRCS = enforce_glob(
[
"conv2d.mlir",
@@ -65,11 +75,23 @@
target_backend = "vulkan-spirv",
)
+iree_check_single_backend_test_suite(
+ name = "check_winograd_vulkan-spirv_vulkan",
+ srcs = VULKAN_SRCS,
+ compiler_flags = [
+ "--iree-flow-enable-conv-winograd-transform",
+ ],
+ driver = "local-task",
+ target_backend = "llvm-cpu",
+)
+
test_suite(
name = "check",
tests = [
":check_llvm-cpu_local-task",
":check_vmvx_local-task",
":check_vulkan-spirv_vulkan",
+ ":check_winograd_llvm-cpu_local-task",
+ ":check_winograd_vulkan-spirv_vulkan",
],
)
diff --git a/tests/e2e/linalg/CMakeLists.txt b/tests/e2e/linalg/CMakeLists.txt
index c946a5f..8e93b79 100644
--- a/tests/e2e/linalg/CMakeLists.txt
+++ b/tests/e2e/linalg/CMakeLists.txt
@@ -25,6 +25,19 @@
iree_check_single_backend_test_suite(
NAME
+ check_winograd_llvm-cpu_local-task
+ SRCS
+ "conv2d.mlir"
+ TARGET_BACKEND
+ "llvm-cpu"
+ DRIVER
+ "local-task"
+ COMPILER_FLAGS
+ "--iree-flow-enable-conv-winograd-transform"
+)
+
+iree_check_single_backend_test_suite(
+ NAME
check_vmvx_local-task
SRCS
"conv2d.mlir"
@@ -49,4 +62,17 @@
"--iree-input-type=none"
)
+iree_check_single_backend_test_suite(
+ NAME
+ check_winograd_vulkan-spirv_vulkan
+ SRCS
+ "conv2d.mlir"
+ TARGET_BACKEND
+ "llvm-cpu"
+ DRIVER
+ "local-task"
+ COMPILER_FLAGS
+ "--iree-flow-enable-conv-winograd-transform"
+)
+
### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###