Hi Jay,
I believe William Myers at Utah (mwilliammyers on github) was working on some of these.
I am planning at least one release in October, before Supercomputing’16. Possibly two.
-Todd
--
You received this message because you are subscribed to the Google Groups "Spack" group.
To unsubscribe from this group and stop receiving emails from it, send an email to spack+un...@googlegroups.com.
To post to this group, send email to sp...@googlegroups.com.
Visit this group at https://groups.google.com/group/spack.
For more options, visit https://groups.google.com/d/optout.
Jay,
In Spack we typically don’t install via pip or wheel, mainly because if you do that, you lose control of the toolchain things get built with. Pip doesn’t model any dependencies below the python level, so you can’t, e.g., build with an intel/MKL or other stack underneath the Python level if you do that.
So porting to Spack would require you to look at the requirements pip uses, and map those to Spack. Generally that is pretty straightforward – If you look at some of the existing Python packages in it (try typing `spack list py-`), then `spack edit` some of them you can see how we typically handle Python installs.
You probably want to look at this:
https://www.tensorflow.org/versions/r0.10/get_started/os_setup.html#installing-from-sources
It looks like the main things you would need are
Not python: bazel, coreutils, cudNN, cuda
Python: six numpy swig dev wheel ipython
Most of those are in Spack – the exceptions being cudNN, bazel, and dev. I was looking at the page above and it looks like it’s possible to do a binary install of CUDA, at least in homebrew. The Spack package currently requires users to put CUDA in a known location first, then install, but maybe we can do better now.
Can you try to get TensorFlow working without CUDA, and I’ll look at the CUDA install in the meantime?
Ok – I’ll look into adding the URL for at least CUDA 7.5, and we could mark that as the preferred version.
AFAIK a wheel file is just a binary installation, right? I think if the build produces a wheel, it has to have also generated what you need in a prefix. For Spack you would want Tensorflow to exist in its own prefix…
I haven’t had a chance to look at how bazel does this, but it looks like they specify that it should build a wheel using //tensorflow/tools/pip_package:build_pip_package. Is there some other target you can use to install straight into a prefix?
Does it really need to depend on atlas, or would it be happy with just BLAS?
You could make it use any number of less-cumbersome-to-build alternatives like netlib-blas. Or if it really needs Atlas, you can tweak your packages.yaml file to use a system atlas install as an external.
If you make it depends_on(‘blas’) instead of depends_on(‘atlas’), the user can pick which implementation they want. The default concretization setting is to use openblas. See the default packages.yaml:
https://github.com/LLNL/spack/blob/develop/etc/spack/defaults/packages.yaml
Users can override this either in etc/spack/packages.yaml or in ~/.spack/packages.yaml.
Atlas is default for Caffe. Optionally, it also works with OpenBLAS and MKL. Building with MKL is giving me some library issues with MPI. Not sure if MKL or HDF5 is causing this problem. I'll try disabling MPI in HDF5 to see if it helps. If that doesn't work, I'll try openblas.
I will install caffe in a clean environment to make sure I won't those libboost warning. Hopefully, the hdf5 issues will disappear with that.
- Jay
On Mar 24, 2017, at 7:43 AM, Jimmy Tang <jcf...@gmail.com> wrote:
Unsubscribe
It appears that you have subscribed to commercial messages from this sender. To stop receiving such messages from this sender, please unsubscribe
Visit this group at http://secure-web.cisco.com/1--mVs9zFmBtz5L3qIdzuMBORwfQqECl5HRAv9PgKdSLOG8SP3vJEc9JL_JNPLy4eOy6ueN26iKZBcScuz7hnaoS_r3DB08fduRobSRgatVdzzx-tjQyp0wUXuU-hVxESsdKZXcPog9ePV_QC497mQwlIuw4PgUEF5D7TBwTytLGyK9a_pj_fYEAqM4c-Vy1APTeZs8J08vA6KIEZ1PbC8rcjDG-ujTpfrpZifB-qgoBOZ6xEui7Q9nAao3xGsUz9mxZRSj717ceIMTOo_W8avFzZusNl4eRDDXf-pADWV1FTo126Epyhvtp1SEnStoiAYoLmXukVKFifp2B51NmwtPE95_TUjcMLo90xZSALNXLdKNuyYOaNmYT1nqCVIPNDd8p2x0tVO4sg9M_b--nO3LX8y8vAYf1jWsjWRiUBr5U/l37%3Ahttps%3A%2F%2Fgroups.google.com%2Fgroup%2Fspacke.
For more options, visit http://secure-web.cisco.com/1lx2K9PVdWj0C2jw-YB2CqpFkUArDfETk8lohuNdzR_08yPwjOeTpEutmUO5qiSPDQvznz234JFzMpPiVO4U0U8YjYTLCm344nPzIGJguRfbJCigRuBoHBoJYzBPG-yNq3ui0Go0sGxeKVjhqo-Nx6OsdGuqBRwjVWclpO6_wQfv4em3N4HYV5xOZmdjqVtYdFIA8xw61qR-sS56FlRbq2Uyoh1IcVOkEKxlifkxMPcnnFJUg7LiuUkCmH2uOoAVlUaiAlXTk-xihvkEIz1wJ-gJXilJWSfCcRU_xsEwhvRdWw-1oySg2d8ZyQwYBbP2g6Nu-HS_PUJ6-Qh0Wz1OSWWT-bZ46yqceL6ogtlpid-1jBMeW-CrkwsuWDUkg4A0-fGdUeThcgOBDIt65yolNs2rCatVQZExz0FuTWtUB_5k/l34%3Ahttps%3A%2F%2Fgroups.google.com%2Fd%2Foptoute.
Jimmy,
We started on a branch at HackIllinois to build tensorflow without bazel, leveraging TF’s contributed CMake build. We got pretty far through the Tensorflow build but hit an error with Eigen includes — I haven’t had time to go deeper into that.
But here is the PR (and branch). Do you want to iterate on this? I’d be happy to work with you.