tensorflow-community-wheels icon indicating copy to clipboard operation
tensorflow-community-wheels copied to clipboard

TensorFlow 1.13.0 CPU (no SSE4.x, no AVX), Python 2.7, Ubuntu 16.04, amd64

Open mdsimmo opened this issue 6 years ago • 24 comments

TF OS Py SSE4.1 SSE4.2 AVX AVX2 FMA MKL
1.13.0-rc0 Ubuntu 16.04 2.7 :x: :x:  :x:  :x:  :x: :x:

compiled on: amd phenom II x4, 64 bit, Ubuntu 16.04, native compile flags

For those of you with older CPUs

Download: https://github.com/mdsimmo/tensorflow-community-wheels/releases/download/1.13.0_cpu_amd64/tensorflow-1.13.0rc0-cp27-cp27mu-linux_x86_64.whl

Install: sudo -H pip2 install https://github.com/mdsimmo/tensorflow-community-wheels/releases/download/1.13.0_cpu_amd64/tensorflow-1.13.0rc0-cp27-cp27mu-linux_x86_64.whl

Python 3.6 version: #103

Mac version: https://github.com/yaroslavvb/tensorflow-community-wheels/issues/97#issuecomment-456425656 (might have SSE instructions?)

mdsimmo avatar Jan 11 '19 21:01 mdsimmo

Hi @mdsimmo , I'm trying to get that version of tensorflow working on my old 2010 Mac, which doesn't support AVX... I'm facing some issues in the build process, maybe you did as well?, so please let me know if you had to change/configure something to get it working. For instance, I faced the error below. My C++ compiler is 4.2.1 from XCode, which version is yours? Thanks!

ERROR: /..../tensorflow/core/grappler/graph_analyzer/BUILD:5:1: C++ compilation of rule '//tensorflow/core/grappler/graph_analyzer:graph_analyzer_lib' failed (Exit 1) tensorflow/core/grappler/graph_analyzer/graph_analyzer.cc:75:28: error: default initialization of an object of const type 'const Subgraph::Identity' without a user-provided default constructor const Subgraph::Identity empty_parent; ^

pahique avatar Jan 13 '19 12:01 pahique

Hi @pahique. I did not have that problem. I had some issues getting a compatible protobuf/bazel version, but otherwise, all went smoothlyish.

My c++ compiler is g++ 5.4.0 (installed from default ubuntu repo). c compiler is gcc 5.4.0 Bazel version is 0.21.0

And just as a sanity check, I verified that my source code is the same where the error is occurring.

mdsimmo avatar Jan 15 '19 00:01 mdsimmo

Any chance to get a similar build with Python 3.*?

apiad avatar Jan 22 '19 09:01 apiad

I won't be building it any time soon - it took 3 days of continuous processing to build it, and I want to use my laptop for other things.

Edit: Ended up building it anyhow: #103

mdsimmo avatar Jan 22 '19 10:01 mdsimmo

Fair enough, thanks a lot anyway! I'll try to build it on my own.

On Tue, Jan 22, 2019 at 11:47 AM mdsimmo [email protected] wrote:

I won't be building it any time soon - it took 3 days of continuous processing to build it, and I want to use my laptop for other things.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/yaroslavvb/tensorflow-community-wheels/issues/97#issuecomment-456355078, or mute the thread https://github.com/notifications/unsubscribe-auth/ABsiHI3zCEsV4OvJc-sP26_-7swjr-M8ks5vFuxPgaJpZM4Z8Nso .

apiad avatar Jan 22 '19 11:01 apiad

I managed to build a whl file that worked for me. Ubuntu 16.04 without AVX for TF 1.12 and Python 3.6. I just followed the instructions in https://www.tensorflow.org/install/source (specifically the Docker CPU instructions), and committed the image afterwards (hence, obtaining a custom image with my custom tensorflow build already installed). Now I'm using it as base image the rest of my infrastructure. If someone wants the whl or the image just let me know. It took around 3 hours to build on a fairly big machine.

apiad avatar Jan 22 '19 14:01 apiad

I was able to compile it at last... using python 2.7.5 on a MacBook Pro i5 Mid 2010 with no AVX support (MacOSX Sierra, 10.12.6) Link for download: https://github.com/pahique/tensorflow/blob/master/tensorflow-1.13.0rc0-cp27-cp27m-macosx_10_12_x86_64.whl

pahique avatar Jan 22 '19 14:01 pahique

@apiad @pahique Nice going :) Can you make a new issue so others easilly can find those wheels too.

It took around 3 hours to build on a fairly big machine.

3 hours! I am super jealous!

mdsimmo avatar Jan 22 '19 23:01 mdsimmo

@apiad Would you mind sharing the .whl if you still have it on hand ? Thanks !

loiccoyle avatar Jan 26 '19 01:01 loiccoyle

@apiad Can you share the wheel with us? I'd love to use it.

kirbykirby56 avatar Jan 27 '19 01:01 kirbykirby56

I have it on the office's server, no SSH access from outside. I'll upload it tomorrow for sure :). I don't really know exactly what the build details are since I just downloaded the TF image with the source files and followed the on-site instructions. Is there an easy way to print out the build options if I'm inside the container with TF installed?

apiad avatar Jan 27 '19 10:01 apiad

Have you had any luck ? @apiad

loiccoyle avatar Jan 30 '19 20:01 loiccoyle

@loiccoyle @mdsimmo I have uploaded the wheel: https://github.com/matcom/ml/releases/tag/tf-no-avx

I really have no idea how to read the exact details for making the pretty table shown at the beginning of this issue. So if anyone is interested in investigating, feel free to add an issue yourself with the corresponding tags. Or if you can tell me how to get this info I can do it for myself.

Hope it serves you...

apiad avatar Jan 31 '19 09:01 apiad

@apiad My understanding is that the docker, by default, will compile with whatever your machine supports (i.e. native compile flags). Thus, on linux, you can find out by inspecting the flags in /proc/cpuinfo.

I don't know if MKL is enabled by default, but it's an Intel thing, so I assume it doesn't exist if you have AMD. If you have an Intel chip, then I don't know,

Edit: From here, it would seem that MKL is only enabled if you use bazel build --config=mkl. I'm guessing you didn't do that, so it probably isn't enabled.

mdsimmo avatar Jan 31 '19 11:01 mdsimmo

Thanks a lot @apiad, it looks like it's working.

loiccoyle avatar Jan 31 '19 11:01 loiccoyle

@mdsimmo thanks for the info. Will definitely look into it and update the wheel info accordingly. I don't think I did config=mkl either...

apiad avatar Jan 31 '19 16:01 apiad

@apiad in case you're interested I also made some builds for python 3.* here if you need something for CPU only I can probably make it happen. It takes me half an hour or so to build it. I'll probably post the links here later, but just to let you know.

davidenunes avatar Feb 12 '19 18:02 davidenunes

@pahique Hi. Can I ask how you did it? I'm having exactly the same problem.

hoonkai avatar Feb 16 '19 18:02 hoonkai

Hey @apiad , How did you build for python 3.6 with the docker files? I tried building with the docker files, but it uses python 3.5 and it seems to be incompatible with 3.6.

Edit: figured it out. Just get the docker config file from here and alter it so it is how you like (to get python 3.6, just use ubuntu 18.04 as the base machine instead of 16.04)

mdsimmo avatar Mar 09 '19 22:03 mdsimmo

Python 3.6 version avaliable here: #103 Similar to apaid's build above, but no SSE4 instruction.

mdsimmo avatar Mar 15 '19 00:03 mdsimmo

@apiad @mdsimmo is it possible to get this for 16.04 cpu with python 3.5

fightthepower avatar Mar 21 '19 06:03 fightthepower

@fightthepower I have a 1.12.0 py3.5 version that I built by accident here:

https://github.com/mdsimmo/tensorflow-community-wheels/releases/download/1.12.0_cpu_py3_5_amd64/tensorflow-1.12.0-cp35-cp35m-linux_x86_64.whl

I haven't tested it though because I was trying to build py3.6

mdsimmo avatar Mar 22 '19 02:03 mdsimmo

@mdsimmo the py3.5 version works. Thanks!

mokeam avatar Apr 04 '19 19:04 mokeam

On Ubuntu16.04 and py3.5 doesn't work. No errors but terrible slow.

Does anybody have another compilation for py3.5? (no AVX)

jmsalomr avatar Apr 21 '19 22:04 jmsalomr