aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Benjamin Kramer <kramerb@google.com>2017-05-11 06:58:04 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2017-05-11 11:10:10 -0700
commit1e390f5f7992f3ae5f9ecfc91ebe3d711efe0b7d (patch)
tree51e38813510e2b89d481ce552811847eba9d2829
parent99706cf26befc2b86606557d01f14b32bf7c73f7 (diff)
Add a test for zero-dimensional copies with different layouts, which are nops.
PiperOrigin-RevId: 155744287
-rw-r--r--tensorflow/compiler/xla/tests/BUILD1
-rw-r--r--tensorflow/compiler/xla/tests/copy_test.cc17
2 files changed, 18 insertions, 0 deletions
diff --git a/tensorflow/compiler/xla/tests/BUILD b/tensorflow/compiler/xla/tests/BUILD
index f8a4c65109..d7644a0513 100644
--- a/tensorflow/compiler/xla/tests/BUILD
+++ b/tensorflow/compiler/xla/tests/BUILD
@@ -891,6 +891,7 @@ xla_test(
name = "copy_test",
srcs = ["copy_test.cc"],
deps = [
+ ":client_library_test_base",
"//tensorflow/compiler/xla:array2d",
"//tensorflow/compiler/xla:literal_util",
"//tensorflow/compiler/xla:util",
diff --git a/tensorflow/compiler/xla/tests/copy_test.cc b/tensorflow/compiler/xla/tests/copy_test.cc
index 29e2950533..8ea97e67d6 100644
--- a/tensorflow/compiler/xla/tests/copy_test.cc
+++ b/tensorflow/compiler/xla/tests/copy_test.cc
@@ -24,6 +24,7 @@ limitations under the License.
#include "tensorflow/compiler/xla/service/hlo_instruction.h"
#include "tensorflow/compiler/xla/service/hlo_module.h"
#include "tensorflow/compiler/xla/service/hlo_opcode.h"
+#include "tensorflow/compiler/xla/tests/client_library_test_base.h"
#include "tensorflow/compiler/xla/tests/hlo_test_base.h"
#include "tensorflow/compiler/xla/tests/literal_test_util.h"
#include "tensorflow/compiler/xla/tests/test_macros.h"
@@ -256,6 +257,22 @@ XLA_TEST_F(CopyOpTest, CopyConstantR4Layout0312_MultipleTilesPerLayer) {
TestCopyConstantLayoutR4(2, 14, 5, 35, {0, 3, 1, 2});
}
+using CopyOpClientTest = ClientLibraryTestBase;
+
+XLA_TEST_F(CopyOpClientTest, Copy0x0) {
+ Shape in_shape = ShapeUtil::MakeShapeWithLayout(F32, {0, 0}, {0, 1});
+ Shape out_shape = ShapeUtil::MakeShapeWithLayout(F32, {0, 0}, {1, 0});
+ auto empty = LiteralUtil::CreateFromShape(in_shape);
+
+ ComputationBuilder builder(client_, TestName());
+ auto param0 = builder.Parameter(0, in_shape, "input");
+ auto input_data = client_->TransferToServer(*empty).ConsumeValueOrDie();
+
+ auto actual = ExecuteAndTransfer(&builder, {input_data.get()}, &out_shape)
+ .ConsumeValueOrDie();
+ LiteralTestUtil::ExpectEqual(*empty, *actual);
+}
+
} // namespace
} // namespace xla