Created
July 25, 2018 05:52
-
-
Save bstriner/a7fb0a8da1f830900fa932652439ed44 to your computer and use it in GitHub Desktop.
Patch for eigen3 to build for tensorflow
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- Eigen/src/Core/arch/CUDA/Half.h 2018-06-22 18:09:44.000000000 -0400 | |
+++ Eigen/src/Core/arch/CUDA/Half.h 2018-07-25 01:19:55.462313100 -0400 | |
@@ -209,7 +209,7 @@ | |
// conversion steps back and forth. | |
EIGEN_STRONG_INLINE __device__ half operator + (const half& a, const half& b) { | |
- return __hadd(a, b); | |
+ return __hadd(::__half(a), ::__half(b)); | |
} | |
EIGEN_STRONG_INLINE __device__ half operator * (const half& a, const half& b) { | |
return __hmul(a, b); | |
@@ -218,9 +218,7 @@ | |
return __hsub(a, b); | |
} | |
EIGEN_STRONG_INLINE __device__ half operator / (const half& a, const half& b) { | |
- float num = __half2float(a); | |
- float denom = __half2float(b); | |
- return __float2half(num / denom); | |
+ return __hdiv(a, b); | |
} | |
EIGEN_STRONG_INLINE __device__ half operator - (const half& a) { | |
return __hneg(a); |
I am also interested in patching via bazel (building for GPU)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
How do I add it to bazel ? tried adding this to eigen.cmake but realized that this file is generated.
Then tried to add to eigen.BUILD at cc_library.defines "eigen_PATCH_FILE=eigen-patch.txt". doesn't work either .
Will you please help and let me know what I am doing wrong ?