Optimize Tensorflow for Intel CPUs

I have a Microsoft Surface laptop and was looking for ways to optimize Tensorflow on CPU only setups.

While I use GPUs in the cloud for training tensorflow models, wanted to explore options to optimize on my existing non GPU servers.

If you are in same boat and don’t have access to GPU machines, check out the short presentation I gave at AI Unconference this weekend @ Intel and learn how to run Tensorflow orders of magnitude faster on Intel CPUs http://bit.ly/2tJQ2XB

Your mileage will vary depending upon your CPU model and the parameters chosen for your models.

I suggest starting off with Intel Python which is optimized for speed, MKL library for optimizing math operations and compiling Tensorflow from source with the MKL optimization. I used the Intel python itself for compiling Tensorflow.

Feel free to ping me if you have follow-up questions.


Thanks for the link.
Your surface must be suffering :slight_smile: which model are you using? and do you experience any throttling once it gets hot?
Surface is a great machine (I have one myself) but it’s not the best device to perform heavy computations from.

I have Surface Pro 4 laptop and another Server that I use at home for my experiments. I generally do my model initial exploration and building on the laptop (if traveling) and use AWS cloud for long running training jobs. As both my machines don’t have GPU it was good motivation to explore CPU optimizations for Tensorflow and got me going on this path.

So far did not encounter any throttling on Surface – I use docker containers to isolate and easily switch between different environments. It works well to run quick experiments and very handy for travel and talks.