I saw benchmarks showing impressive speedup using Anaconda + MKL vs. open 
source library. For 
example, https://github.com/ContinuumIO/mkl-optimizations-benchmarks

For my application, a representative problem would be split-step Fourier 
method (https://en.wikipedia.org/wiki/Split-step_method). This would 
involve multiple arrays (e.g. 8), each containing tens of thousands to 
hundreds of thousands of complex values, going through FFT - array 
calculation - inverse FFT - array calculation... repeated many many times. 
There could be dozens of parameter combinations to run the calculation on, 
which could be parallelized. Currently the calculation is done in Matlab 
with some use of GPU, which is reasonably fast but not fast enough. Python 
would be slow for this situation as each step depends on previous step in a 
nonlinear way so the loop cannot be vectorized. I was hoping to convert the 
Matlab project into Julia to gain significant speedup (fast Julia base + 
MKL + GPU) on a single 6-core machine. If then I can get a few machines to 
work together to test different parameter sets that'd be even better - 
realistic limitation is we have to stick with Windows and won't have a real 

Based on the instructions, building Julia with MKL seems to be easy on 
Linux. I didn't realize it could be this hard for Windows, at least for me.

Commercial distribution of Julia could be an option if the license fee is 
low (people got spoiled by Anaconda). However, I don't see one that 
supports MKL yet. 

On Friday, September 16, 2016 at 5:46:39 PM UTC-5, Tony Kelman wrote:
> mic probably means xeon phi, so that's likely for cross compiling to a 
> xeon phi device from a windows host. Based on the sizes of the .lib files, 
> I take what I said back, those probably are static libraries. I did this 
> many months ago and have a Make.user somewhere.
> Before you spend too much time on this, how sure are you that MKL will 
> make a major difference over openblas on your application? openblas is 
> close in performance to MKl on many, but not quite all operations. In some 
> cases it may even be faster. Open source Julia is much better supported 
> against openblas, especially on Windows. There are avenues for commercial 
> supported Julia as well.

Reply via email to