aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/compiler/xla/layout_util.cc
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2018-05-24 17:48:21 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-05-24 17:50:57 -0700
commitf6066436884476d7bc32cf2ad6cfc8d9c52b5482 (patch)
tree1a6aece3e70ab0c0bddc758f401a12cab67e8bd1 /tensorflow/compiler/xla/layout_util.cc
parent0c940ff33add2e8481cc1a5a166d8af72a5a21f9 (diff)
Add heuristic on picking NHWC layout for (V100, fp16) convolutions.
Also move AlgorithmPicker after layout assignment, as now cudnn_convolution_runner will return failures on invalid input layouts. Also add a backend debug option to switch the layout heuristic. By default it has the old behavior (all NCHW). PiperOrigin-RevId: 197983747
Diffstat (limited to 'tensorflow/compiler/xla/layout_util.cc')
-rw-r--r--tensorflow/compiler/xla/layout_util.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/tensorflow/compiler/xla/layout_util.cc b/tensorflow/compiler/xla/layout_util.cc
index a76fdcda25..89cafa1a7d 100644
--- a/tensorflow/compiler/xla/layout_util.cc
+++ b/tensorflow/compiler/xla/layout_util.cc
@@ -65,6 +65,16 @@ void SetDefaultLayoutToContainer(
return layout;
}
+/* static */ Layout LayoutUtil::MakeLayoutFromMajorToMinor(
+ tensorflow::gtl::ArraySlice<int64> major_to_minor) {
+ Layout layout;
+ layout.set_format(DENSE);
+ for (int i = major_to_minor.size() - 1; i >= 0; i--) {
+ layout.add_minor_to_major(major_to_minor[i]);
+ }
+ return layout;
+}
+
/* static */ Layout LayoutUtil::MakeSparseLayout(int64 max_sparse_elements) {
Layout layout;
layout.set_format(SPARSE);