Intel strongly recommends using their distribution for Python, instead of manually building Python modules for yourself. An obvious advantage is that there are many optimized modules available from their distribution, a non-trivial task if you want to compile them yourself.
But I haven't find out what kind of optimizations are available. If I would manually build the packages I am certain all the instructions available to my processor (AVX, SSE) where taken into consideration while compiling the code, and making the binaries as optimized as possible, hence I wanted to know:
Does Intel ship the distribution with binaries compiled for all their processors? (e.g. a different set of binaries for each generation: Nehalem, Sandy Bridge, etc) or...
Does Intel ship some sort of generic optimization? (to all their processors) or...
something in the middle?
To be more specific, Intel says it "accelerates" Python by the way of MKL, TBB and DAAL. A manual build will at least take advantage of MKL and customization of instruction sets to the host processor.
So, from my point of view there is a trade-of between these two approaches: if using the distribution, a lot of time would be saved and would have all "accelerators" but manual compiling would take advantage of MKL and instructions sets (at least). So, what is your take?