Skip to content

Commit

Permalink
[StableHLO][CHLO] Enable e2e tests on WebGPU (iree-org#13880)
Browse files Browse the repository at this point in the history
Add a missing test for `chlo.broadcast_add`.

Issue: iree-org#12678
  • Loading branch information
kuhar authored and nhasabni committed Aug 24, 2023
1 parent 4e575e2 commit f230949
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 0 deletions.
6 changes: 6 additions & 0 deletions tests/e2e/stablehlo_ops/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ iree_check_single_backend_test_suite(
"batch_norm_inference.mlir",
"bitcast_convert.mlir",
"broadcast.mlir",
"broadcast_add.mlir",
"broadcast_in_dim.mlir",
"clamp.mlir",
"compare.mlir",
Expand Down Expand Up @@ -99,6 +100,7 @@ iree_check_single_backend_test_suite(
"batch_norm_inference.mlir",
"bitcast_convert.mlir",
"broadcast.mlir",
"broadcast_add.mlir",
"broadcast_in_dim.mlir",
"clamp.mlir",
"compare.mlir",
Expand Down Expand Up @@ -171,6 +173,7 @@ iree_check_single_backend_test_suite(
"batch_norm_inference.mlir",
"bitcast_convert.mlir",
"broadcast.mlir",
"broadcast_add.mlir",
"broadcast_in_dim.mlir",
"clamp.mlir",
"compare.mlir",
Expand Down Expand Up @@ -244,6 +247,7 @@ iree_check_single_backend_test_suite(
"batch_norm_inference.mlir",
"bitcast_convert.mlir",
"broadcast.mlir",
"broadcast_add.mlir",
"broadcast_in_dim.mlir",
"clamp.mlir",
"compare.mlir",
Expand Down Expand Up @@ -334,6 +338,7 @@ iree_check_single_backend_test_suite(
"batch_norm_inference.mlir",
"bitcast_convert.mlir",
"broadcast.mlir",
"broadcast_add.mlir",
"broadcast_in_dim.mlir",
"clamp.mlir",
"compare.mlir",
Expand Down Expand Up @@ -415,6 +420,7 @@ iree_check_single_backend_test_suite(
"batch_norm_inference.mlir",
"bitcast_convert.mlir",
"broadcast.mlir",
"broadcast_add.mlir",
"broadcast_in_dim.mlir",
"clamp.mlir",
"compare.mlir",
Expand Down
78 changes: 78 additions & 0 deletions tests/e2e/stablehlo_ops/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ iree_check_single_backend_test_suite(
"batch_norm_inference.mlir"
"bitcast_convert.mlir"
"broadcast.mlir"
"broadcast_add.mlir"
"broadcast_in_dim.mlir"
"clamp.mlir"
"compare.mlir"
Expand Down Expand Up @@ -88,6 +89,7 @@ iree_check_single_backend_test_suite(
"batch_norm_inference.mlir"
"bitcast_convert.mlir"
"broadcast.mlir"
"broadcast_add.mlir"
"broadcast_in_dim.mlir"
"clamp.mlir"
"compare.mlir"
Expand Down Expand Up @@ -156,6 +158,7 @@ iree_check_single_backend_test_suite(
"batch_norm_inference.mlir"
"bitcast_convert.mlir"
"broadcast.mlir"
"broadcast_add.mlir"
"broadcast_in_dim.mlir"
"clamp.mlir"
"compare.mlir"
Expand Down Expand Up @@ -222,6 +225,7 @@ iree_check_single_backend_test_suite(
"batch_norm_inference.mlir"
"bitcast_convert.mlir"
"broadcast.mlir"
"broadcast_add.mlir"
"broadcast_in_dim.mlir"
"clamp.mlir"
"compare.mlir"
Expand Down Expand Up @@ -295,6 +299,7 @@ iree_check_single_backend_test_suite(
"batch_norm_inference.mlir"
"bitcast_convert.mlir"
"broadcast.mlir"
"broadcast_add.mlir"
"broadcast_in_dim.mlir"
"clamp.mlir"
"compare.mlir"
Expand Down Expand Up @@ -372,6 +377,7 @@ iree_check_single_backend_test_suite(
"batch_norm_inference.mlir"
"bitcast_convert.mlir"
"broadcast.mlir"
"broadcast_add.mlir"
"broadcast_in_dim.mlir"
"clamp.mlir"
"compare.mlir"
Expand Down Expand Up @@ -441,3 +447,75 @@ iree_check_single_backend_test_suite(
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###

iree_check_single_backend_test_suite(
NAME
check_webgpu
SRCS
"abs.mlir"
"add.mlir"
"batch_norm_inference.mlir"
"bitcast_convert.mlir"
"broadcast.mlir"
"broadcast_add.mlir"
"broadcast_in_dim.mlir"
# "clamp.mlir" # TODO(#10906): fix (i8/i16?)
# "compare.mlir" # TODO(#10906): fix (i8/i16?)
# "complex.mlir" # TODO(#11054)
"concatenate.mlir"
"constant.mlir"
# "convert.mlir" # TODO(#10906): fix (i8/i16?)
"convolution.mlir"
"cosine.mlir"
"divide.mlir"
"dot.mlir"
"dot_general.mlir"
"dynamic_slice.mlir"
"dynamic_update_slice.mlir"
"exponential.mlir"
"exponential_fp16.mlir"
"exponential_minus_one.mlir"
# "fft.mlir" # TODO(#9583): fix (fft codegen via spirv)
# "finite.mlir" # TODO(#11321): error: value cannot be represented as 'f32': inf
"floor.mlir"
"gather.mlir"
"iota.mlir"
"log.mlir"
"log_plus_one.mlir"
# "maximum.mlir" # TODO(#10906): fix (i8/i16?)
# "minimum.mlir" # TODO(#10906): fix (i8/i16?)
"multiply.mlir"
"negate.mlir"
"pad.mlir"
"pow.mlir"
"reduce.mlir"
"reduce_window.mlir"
"remainder.mlir"
"reshape.mlir"
"reverse.mlir"
"rng_normal.mlir"
"rng_uniform.mlir"
"round.mlir"
"rsqrt.mlir"
"scatter.mlir"
"scatter_dynamic.mlir"
"select.mlir"
"sine.mlir"
"slice.mlir"
"sort.mlir"
"sqrt.mlir"
"subtract.mlir"
"tanh.mlir"
"torch_index_select.mlir"
"transpose.mlir"
# "while.mlir" # TODO(#12509): WebGPU SPIR-V broken
TARGET_BACKEND
"webgpu"
# Only test compilation for now, the WebGPU driver is not stable/tested yet.
# DRIVER
# "webgpu"
COMPILER_FLAGS
"--iree-input-type=stablehlo"
"--iree-codegen-gpu-native-math-precision=true" # TODO(#11321): Infer/flip default
)

10 changes: 10 additions & 0 deletions tests/e2e/stablehlo_ops/broadcast_add.mlir
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
func.func @tensor() {
%0 = util.unfoldable_constant dense<[1.0, 2.0, 3.0, 4.0]> : tensor<4xf32>
%1 = util.unfoldable_constant dense<2.0> : tensor<3x4xf32>
%result = "chlo.broadcast_add"(%0, %1) : (tensor<4xf32>, tensor<3x4xf32>) -> tensor<3x4xf32>
check.expect_almost_eq_const(%result,
dense<[[3.0, 4.0, 5.0, 6.0],
[3.0, 4.0, 5.0, 6.0],
[3.0, 4.0, 5.0, 6.0]]> : tensor<3x4xf32>) : tensor<3x4xf32>
return
}

0 comments on commit f230949

Please sign in to comment.