-
Notifications
You must be signed in to change notification settings - Fork 706
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
{devel}[foss/2016b] TensorFlow v1.0.1, SWIG v3.0.10, wheel v0.30.0a0, ... #4412
{devel}[foss/2016b] TensorFlow v1.0.1, SWIG v3.0.10, wheel v0.30.0a0, ... #4412
Conversation
|
||
name = 'SWIG' | ||
version = '3.0.10' | ||
pyver = '3.5.2' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you can drop this, EB provides it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
('PCRE', '8.38'), | ||
] | ||
|
||
# fix for TensorFlow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please explain a bit more? Why does Tensorflow require an rpath in SWIG?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was an issue on Cray and using older version of Bazel, I've just removed the fix and it seems to work now.
|
||
sanity_check_paths={ | ||
'files': ['%(builddir)s/tensorflow-%(version)s-cp35-cp35m-linux_x86_64.whl'], | ||
'dirs': ['%(installdir)s/lib/python%(pyshortver)s/site-packages'], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you can drop installdir
here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
] | ||
|
||
sanity_check_paths={ | ||
'files': ['%(builddir)s/tensorflow-%(version)s-cp35-cp35m-linux_x86_64.whl'], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why check something in the builddir
? it gets deleted at the end?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No idea, I'll blame one of the co-authors 😄
Fixed.
} | ||
|
||
moduleclass = 'devel' | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no trailing empty lines
+ | ||
+sed -i s\@'$EBROOTGCCCORE'@"$EBROOTGCCCORE"@g third_party/gpus/crosstool/CROSSTOOL.tpl | ||
+sed -i s\@'$EBROOTBINUTILS'@"$EBROOTBINUTILS"@g third_party/gpus/crosstool/CROSSTOOL.tpl | ||
+sed -i s\@'$EBROOTGCCCORE'@"$EBROOTGCCCORE"@g third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc.tpl |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should put things like this in an easyblock
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1, but thanks for sharing @gppezzi, this is going to be a major help!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not against, but I don't have time to work on this :)
@@ -0,0 +1,103 @@ | |||
diff --git a/configure-cscs.sh b/configure-cscs.sh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
claim authorship and explain what you patch does
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
# Patch to remove hardcoded paths for GCC and Binutils | ||
patches = [('tensorflow-v%(version)s-Python-%(pyver)s-foss.patch')] | ||
|
||
with_configure = False |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this have any effect on a CmdCp easyblock?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
well, CmdCp
derives from MakeCp
, so it's taken into account, but the default value is already False
:
$ eb -a -e CmdCp | grep with_configure
with_configure* Run configure script before building [default: False]
Test report by @gppezzi |
Test report by @boegel |
Test report by @boegel |
What is the status on this PR? |
Status on this PR: the reviewers suggested to write a custom easyblock for fixing the hardcoded absolute paths (instead of this hack). I'm not planning to work on this anytime soon, so PRs against my branch are welcome. @RvDijk did you have problems because of missing protobuf? I've removed it from the dependency list because Bazel was ignoring it and building a new one inside its own workspace (see fix for protobuf here). |
@gppezzi leaving out the protobuf-python module gives me the following when importing the tensorflow module in Python (after having succesfully installed this tensorflow eb):
And in this case including protobuf-python (3.2.0) fixed it. Could be a local issue if this does not occur anywhere else. Does it work for you without it? |
@RvDijk thanks for reporting this, I'm including protobuf-python as dependency. Maybe we should write a comment mentioning that this protobuf-python version is not the one used for building TF but it is needed at runtime? Unless someone wants to find a way to re-use the contents of the bazel workspace 😄 |
@gppezzi it would be nice to mention it, otherwise it might confuse others. |
This may also be useful: https://github.com/truatpasteurdotfr/docker-centos6-tensorflow/blob/master/runme.sh |
More useful information for building Tensorflow from source with Intel compilers: https://software.intel.com/en-us/articles/tensorflow-optimizations-on-modern-intel-architecture |
Finally made some progress here... First step: an easyblock for |
@gppezzi We now have a custom easyblock for TensorFlow, see easybuilders/easybuild-easyblocks#1287, and easyconfigs for building TensorFlow from source, both CPU-only (see #5819) and with GPU support (see #5769). So this can be closed? |
Sure. |
(created using
eb --new-pr
)