Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix build break on windows #14

Open
wants to merge 9 commits into
base: r1.15.4+nv20.12
Choose a base branch
from

Conversation

fo40225
Copy link
Contributor

@fo40225 fo40225 commented Jan 26, 2021

.whl file here https://github.com/fo40225/tensorflow-windows-wheel/tree/master/1.15.4+nv20.12/

build environment:

visual studio 2019 16.8
cuda 11.1.1
cudnn 8.0.5.39

nairb774 and others added 8 commits January 24, 2021 13:19
This lays some ground work for correctly dealing with paths on Windows.

PiperOrigin-RevId: 295859552
Change-Id: I72eb50f69c33df0916bd68e90196819f7b22ed2c
Handle '64_' prefix in the cuDNN version for Windows.

PiperOrigin-RevId: 314385732
Change-Id: I9b36497dbe460e2e7cad3d755cf9ce8d41647ce3
…ericFunction.

See tensorflow/tensorflow#40688, tensorflow/tensorflow#40654.

PiperOrigin-RevId: 318452381
Change-Id: Icc5152f2b020ef19882a49e3c86ac80bbe048d64
…not implicitly convertible.

In the latest dev version of Eigen, `Eigen::half` is implicitly
convertible to float.  This makes `std::is_constructible<AlphaNum,Eigen::half>` true (using the
float constructor), but since `Eigen::half` is not implicitly convertible to `AlphaNum` directly,
this leads to the compile error:
```
./third_party/tensorflow/core/platform/errors.h:107:1: error: no matching function for call to 'PrepareForStrCat'
...

./third_party/tensorflow/core/platform/errors.h:54:33: note: candidate function not viable: no known conversion from 'Eigen::half' to 'const strings::AlphaNum' for 1st argument
inline const strings::AlphaNum& PrepareForStrCat(const strings::AlphaNum& a) {
                                ^
./third_party/tensorflow/core/platform/errors.h:49:1: note: candidate template ignored: requirement '!std::is_constructible_v<tensorflow::strings::AlphaNum, Eigen::half>' was not satisfied [with T = Eigen::half]
PrepareForStrCat(const T& t) {
^
```
The same error occurs for any type implicitly convertible to int/float/double/string/etc...

To fix this, we need to change the condition to `!is_convertible<T, AlphaNum>`, so that
if `T` *is* implicitly convertible to `AlphaNum`, it will use the `AlphaNum` version,
otherwise it will use the stream operator version.

See [MR !278](https://gitlab.com/libeigen/eigen/-/merge_requests/278).

PiperOrigin-RevId: 343357980
Change-Id: Ibad29a54105a70c473ca4c9b205fce8356d155ab
@fo40225 fo40225 force-pushed the r1.15.4+nv20.12-win branch from 9bfc56d to db691ba Compare January 26, 2021 04:59
@vghost2008
Copy link

pull

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants