aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/stream_executor/dnn.h
diff options
context:
space:
mode:
authorGravatar Yifei Feng <yifeif@google.com>2018-04-23 21:19:14 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-04-23 21:21:38 -0700
commit22f3a97b8b089202f60bb0c7697feb0c8e0713cc (patch)
treed16f95826e4be15bbb3b0f22bed0ca25d3eb5897 /tensorflow/stream_executor/dnn.h
parent24b7c9a800ab5086d45a7d83ebcd6218424dc9e3 (diff)
Merge changes from github.
PiperOrigin-RevId: 194031845
Diffstat (limited to 'tensorflow/stream_executor/dnn.h')
-rw-r--r--tensorflow/stream_executor/dnn.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/tensorflow/stream_executor/dnn.h b/tensorflow/stream_executor/dnn.h
index 8e202d115a..39f21d8b10 100644
--- a/tensorflow/stream_executor/dnn.h
+++ b/tensorflow/stream_executor/dnn.h
@@ -875,6 +875,22 @@ enum class ElementwiseOperation { kAdd, kMultiply };
string ElementwiseOperationString(ElementwiseOperation op);
+// A simple class representing the version of the backing library, to
+// workaround the "too perfect forwarding" issue in gcc6+ compilers.
+// See PR#16309 and issue #18402 for links discussing the issue.
+class VersionInfo {
+ public:
+ VersionInfo(int major = 0, int minor = 0, int patch = 0)
+ : major_(major), minor_(minor), patch_(patch) {}
+ int major_version() { return major_; }
+ int minor_version() { return minor_; }
+ int patch() { return patch_; }
+ private:
+ int major_;
+ int minor_;
+ int patch_;
+};
+
// Suite of operations typically used for implementing Deep/Convolutional Neural
// Nets. Note: A false return value of an operation indicates the
// implementation is not available.
@@ -885,8 +901,8 @@ class DnnSupport {
virtual port::Status Init() = 0;
- // Gets the version of the backing library, as a {major, minor, patch} tuple.
- virtual port::StatusOr<std::tuple<int, int, int>> GetVersion() {
+ // Gets the version of the backing library, as a VersionInfo object.
+ virtual port::StatusOr<VersionInfo> GetVersion() {
return port::UnimplementedError(
"DnnSupport::GetVersion not implemented on this platform.");
}