aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-04-27 18:10:42 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2016-04-27 19:21:54 -0700
commit63fd88065526c6301569743b1cec12fd2561589f (patch)
treef993441e42bde020d14b4bb3b376f0b3cb06403b
parent8cf156866f3308c91b94246cb4111b124ee658ef (diff)
Improved support for min and max on 16 bit floats when running on recent cuda
gpus Updated the check numerics code to make it compatible with fp16 Change: 120980302
-rw-r--r--eigen.BUILD2
-rw-r--r--tensorflow/contrib/cmake/external/eigen.cmake4
-rw-r--r--tensorflow/core/kernels/check_numerics_op.cc5
-rw-r--r--tensorflow/workspace.bzl4
-rw-r--r--third_party/eigen3/Eigen/Cholesky2
-rw-r--r--third_party/eigen3/Eigen/Core2
-rw-r--r--third_party/eigen3/Eigen/Eigenvalues2
-rw-r--r--third_party/eigen3/Eigen/LU2
-rw-r--r--third_party/eigen3/Eigen/QR2
-rw-r--r--third_party/eigen3/unsupported/Eigen/CXX11/Tensor2
10 files changed, 13 insertions, 14 deletions
diff --git a/eigen.BUILD b/eigen.BUILD
index 6b12b8f8b6..b982e6feb1 100644
--- a/eigen.BUILD
+++ b/eigen.BUILD
@@ -1,6 +1,6 @@
package(default_visibility = ["//visibility:public"])
-archive_dir = "eigen-eigen-7bfd5612c330"
+archive_dir = "eigen-eigen-50812b426b7c"
cc_library(
name = "eigen",
diff --git a/tensorflow/contrib/cmake/external/eigen.cmake b/tensorflow/contrib/cmake/external/eigen.cmake
index 601bebbcc2..dd771eed28 100644
--- a/tensorflow/contrib/cmake/external/eigen.cmake
+++ b/tensorflow/contrib/cmake/external/eigen.cmake
@@ -7,7 +7,7 @@
include (ExternalProject)
-set(eigen_archive_hash "7bfd5612c330")
+set(eigen_archive_hash "50812b426b7c")
set(eigen_INCLUDE_DIRS
${CMAKE_CURRENT_BINARY_DIR}
@@ -16,7 +16,7 @@ set(eigen_INCLUDE_DIRS
${tensorflow_source_dir}/third_party/eigen3
)
set(eigen_URL https://bitbucket.org/eigen/eigen/get/${eigen_archive_hash}.tar.gz)
-set(eigen_HASH SHA256=7dd8fdfd1797f34ccff8f42c5dcb964f1f6de3385494bbf06eeafdd2b7b608f3)
+set(eigen_HASH SHA256=fa95e425c379c2c7b8a49d9ef7bd0c5a8369171c987affd6dbae5de8a8911c1a)
set(eigen_BUILD ${CMAKE_CURRENT_BINARY_DIR}/eigen/src/eigen)
set(eigen_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/eigen/install)
diff --git a/tensorflow/core/kernels/check_numerics_op.cc b/tensorflow/core/kernels/check_numerics_op.cc
index cc93bf36f4..0811457e15 100644
--- a/tensorflow/core/kernels/check_numerics_op.cc
+++ b/tensorflow/core/kernels/check_numerics_op.cc
@@ -64,11 +64,10 @@ class CheckNumericsOp<CPUDevice, T> : public OpKernel {
// Check to see if any element of the tensor is NaN or Inf.
int fp_props =
std::accumulate(data, data + size, 0, [](const int& x, const T& y) {
- int prop = std::fpclassify(y);
int result = x;
- if (prop == FP_INFINITE) {
+ if (Eigen::numext::isinf(y)) {
result |= kInfBit;
- } else if (prop == FP_NAN) {
+ } else if (Eigen::numext::isnan(y)) {
result |= kNaNBit;
}
return result;
diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl
index 991dc0b2a2..74c55fe7fc 100644
--- a/tensorflow/workspace.bzl
+++ b/tensorflow/workspace.bzl
@@ -13,8 +13,8 @@ def tf_workspace(path_prefix = "", tf_repo_name = ""):
native.new_http_archive(
name = "eigen_archive",
- url = "https://bitbucket.org/eigen/eigen/get/7bfd5612c330.tar.gz",
- sha256 = "7dd8fdfd1797f34ccff8f42c5dcb964f1f6de3385494bbf06eeafdd2b7b608f3",
+ url = "https://bitbucket.org/eigen/eigen/get/50812b426b7c.tar.gz",
+ sha256 = "fa95e425c379c2c7b8a49d9ef7bd0c5a8369171c987affd6dbae5de8a8911c1a",
build_file = path_prefix + "eigen.BUILD",
)
diff --git a/third_party/eigen3/Eigen/Cholesky b/third_party/eigen3/Eigen/Cholesky
index 483bdaf70f..2c4d205219 100644
--- a/third_party/eigen3/Eigen/Cholesky
+++ b/third_party/eigen3/Eigen/Cholesky
@@ -1 +1 @@
-#include "eigen-eigen-7bfd5612c330/Eigen/Cholesky"
+#include "eigen-eigen-50812b426b7c/Eigen/Cholesky"
diff --git a/third_party/eigen3/Eigen/Core b/third_party/eigen3/Eigen/Core
index 1f83147025..001c5ff52d 100644
--- a/third_party/eigen3/Eigen/Core
+++ b/third_party/eigen3/Eigen/Core
@@ -1 +1 @@
-#include "eigen-eigen-7bfd5612c330/Eigen/Core"
+#include "eigen-eigen-50812b426b7c/Eigen/Core"
diff --git a/third_party/eigen3/Eigen/Eigenvalues b/third_party/eigen3/Eigen/Eigenvalues
index 212463a3fb..22487254ec 100644
--- a/third_party/eigen3/Eigen/Eigenvalues
+++ b/third_party/eigen3/Eigen/Eigenvalues
@@ -1 +1 @@
-#include "eigen-eigen-7bfd5612c330/Eigen/Eigenvalues"
+#include "eigen-eigen-50812b426b7c/Eigen/Eigenvalues"
diff --git a/third_party/eigen3/Eigen/LU b/third_party/eigen3/Eigen/LU
index 88ef51dd6d..0be650f68e 100644
--- a/third_party/eigen3/Eigen/LU
+++ b/third_party/eigen3/Eigen/LU
@@ -1 +1 @@
-#include "eigen-eigen-7bfd5612c330/Eigen/LU"
+#include "eigen-eigen-50812b426b7c/Eigen/LU"
diff --git a/third_party/eigen3/Eigen/QR b/third_party/eigen3/Eigen/QR
index f65f0ad04e..cbf13bc274 100644
--- a/third_party/eigen3/Eigen/QR
+++ b/third_party/eigen3/Eigen/QR
@@ -1 +1 @@
-#include "eigen-eigen-7bfd5612c330/Eigen/QR"
+#include "eigen-eigen-50812b426b7c/Eigen/QR"
diff --git a/third_party/eigen3/unsupported/Eigen/CXX11/Tensor b/third_party/eigen3/unsupported/Eigen/CXX11/Tensor
index b0b20a5cdc..d404891e15 100644
--- a/third_party/eigen3/unsupported/Eigen/CXX11/Tensor
+++ b/third_party/eigen3/unsupported/Eigen/CXX11/Tensor
@@ -1 +1 @@
-#include "eigen-eigen-7bfd5612c330/unsupported/Eigen/CXX11/Tensor"
+#include "eigen-eigen-50812b426b7c/unsupported/Eigen/CXX11/Tensor"