[KERNEL_GEN] Disable loop unrolling for binary kernels.

The unrolling is performed, but it does not lead to any vector instructions.
We disable it for now.

PiperOrigin-RevId: 353684863
Change-Id: I394d86e04e48edaecde8f38fd0208d0d4d1e9f26
This commit is contained in:
Alexander Belyaev 2021-01-25 11:03:00 -08:00 committed by TensorFlower Gardener
parent 61fb67458e
commit 0bb358ee70

View File

@ -508,14 +508,15 @@ gen_kernel_library(
[
gen_kernel_library(
name = name,
tile_size = "256,1,1",
tile_size = "1024",
types = [
"f16",
"f32",
"f64",
"i64",
],
unroll_factors = "4",
# TODO(b/178388085): Enable unrolling after vectorization is fixed.
# unroll_factors = "4",
)
for name in [
"square",
@ -526,12 +527,13 @@ gen_kernel_library(
gen_kernel_library(
name = "complex",
tile_size = "256,1,1",
tile_size = "1024",
types = [
"f32",
"f64",
],
unroll_factors = "2",
# TODO(b/178388085): Enable unrolling after vectorization is fixed.
# unroll_factors = "2",
)
gen_kernel_library(
@ -545,7 +547,7 @@ gen_kernel_library(
gen_kernel_library(
name = "div",
tile_size = "256,1,1",
tile_size = "1024",
types = [
"f16",
"f32",
@ -553,12 +555,13 @@ gen_kernel_library(
"i16",
"i64",
],
unroll_factors = "4",
# TODO(b/178388085): Enable unrolling after vectorization is fixed.
# unroll_factors = "4",
)
gen_kernel_library(
name = "mul",
tile_size = "256,1,1",
tile_size = "1024",
types = [
"f16",
"f32",
@ -567,14 +570,15 @@ gen_kernel_library(
"i16",
"i64",
],
unroll_factors = "4",
# TODO(b/178388085): Enable unrolling after vectorization is fixed.
# unroll_factors = "4",
)
# Bitwise operations.
[
gen_kernel_library(
name = name,
tile_size = "256,1,1",
tile_size = "1024",
types = [
"i8",
"i16",
@ -586,7 +590,8 @@ gen_kernel_library(
# "ui32",
# "ui64",
],
unroll_factors = "4",
# TODO(b/178388085): Enable unrolling after vectorization is fixed.
# unroll_factors = "4",
)
for name in [
"bitwise_and",
@ -611,11 +616,12 @@ gen_kernel_library(
[
gen_kernel_library(
name = name,
tile_size = "256,1,1",
tile_size = "1024",
types = [
"i1",
],
unroll_factors = "4",
# TODO(b/178388085): Enable unrolling after vectorization is fixed.
# unroll_factors = "4",
)
for name in [
"logical_and",
@ -626,7 +632,7 @@ gen_kernel_library(
[
gen_kernel_library(
name = name,
tile_size = "256,1,1",
tile_size = "1024",
types = [
"f16",
"f32",
@ -637,7 +643,8 @@ gen_kernel_library(
"i32",
"i64",
],
unroll_factors = "4",
# TODO(b/178388085): Enable unrolling after vectorization is fixed.
# unroll_factors = "4",
)
for name in [
"equal",
@ -648,7 +655,7 @@ gen_kernel_library(
[
gen_kernel_library(
name = name,
tile_size = "256,1,1",
tile_size = "1024",
types = [
"f16",
"f32",
@ -658,7 +665,8 @@ gen_kernel_library(
"i32",
"i64",
],
unroll_factors = "4",
# TODO(b/178388085): Enable unrolling after vectorization is fixed.
# unroll_factors = "4",
)
for name in [
"less",
@ -671,7 +679,7 @@ gen_kernel_library(
[
gen_kernel_library(
name = name,
tile_size = "256,1,1",
tile_size = "1024",
types = [
"f16",
"f32",
@ -680,7 +688,8 @@ gen_kernel_library(
"i32",
"i64",
],
unroll_factors = "4",
# TODO(b/178388085): Enable unrolling after vectorization is fixed.
# unroll_factors = "4",
)
for name in [
"maximum",
@ -711,7 +720,7 @@ gen_kernel_library(
gen_kernel_library(
name = "floor_div",
tile_size = "256",
tile_size = "1024",
# TODO(172804967): Enable for integer types also once unsigned integers are
# supported.
types = [
@ -719,7 +728,8 @@ gen_kernel_library(
"f32",
"f64",
],
unroll_factors = "4",
# TODO(b/178388085): Enable unrolling after vectorization is fixed.
# unroll_factors = "4",
)
# Kernels that support all floating-point types.
@ -770,12 +780,13 @@ gen_kernel_library(
gen_kernel_library(
name = "pow",
tile_size = "256,1,1",
tile_size = "1024",
types = [
"f16",
"f32",
"f64",
"i64",
],
unroll_factors = "4",
# TODO(b/178388085): Enable unrolling after vectorization is fixed.
# unroll_factors = "4",
)