I saw benchmarks showing impressive speedup using Anaconda + MKL vs. open
source library. For
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.