MKL bundled Julia by Julia Computing

I was wondering if it is possible for Julia Computing to offer a MKL bundled Julia. I feel like JuliaPro free version is a little bit too large for me and it takes long time to install, and I can set up Atom and Juno by myself. On the other hand, I don’t want to link Julia to MKL manually.

I prefer something like Microsoft R Open, which offers MKL bundled R but does not include an IDE.


See MKL: what are the issues these days?

1 Like

I am pretty sure you will get this if you are willing to pay the work. Open source is not free software, people need to get living somehow.


Or at least if somebody shares a working script to perform the compilation in Windows.

Anyway, I guess MKL wouldn’t have any effect on packages that have been internally coded with BLAS/Lapack instructions, they would need to be rewritten.

AFAIK, basically no package calls directly into BLAS/Lapack.


Some packages use ccall to BLAS routines not exposed in Base. But with Julia built from source with MKL these correctly use the MKL versions.


Then if I compile Julia with MKL all dependencies will be automatically resolved to use MKL when needed?

Yes. Packages use BLAS.libblas or BLAS.liblapack to determine the library to use, and we for MKL built Julia they return:

julia> BLAS.libblas

julia> BLAS.liblapack
1 Like

OK, that would force Julia to use it. But will it be completly compatible?
Do both libraries offer the same options?

Does anyone have any idea how this can be legal? R is GPL if they’re shipping R linked with MKL (even dynamically) then that would seem to violate the terms of R’s license.

Yes. That’s the point of BLAS.

Though, while they share the same options, they don’t share the same bugs.

Indeed, according to the FAQ, Microsoft R Open is GPL while MKL which it ships with and links against is highly non-open, which appears to violate the license of R. I do not understand how this is legal—it seems like a flagrant violation of R’s GPL license to me.


IANAL, but they call it

a downstream distribution of R with added components

Doesn’t really matter what they call it, if its links against MKL by default with no action on the part of the user then it’s very hard to argue that it is not a derived work. That is the position that the FSF has always taken, which has legal weight since the FSF wrote the GPL.

1 Like

This is interesting: Home

Sorry: this link does not lead to the FAQ. The FAQ says:

Can I build from source and include Intel MKL on Linux & Windows?

You will need the Intel MKL developer kit to build from source and include the Intel MKL libraries on Linux & Windows. While the binaries include Intel MKL on Linux & Windows, the Microsoft R Open sources are configured by default to build with standard BLAS and LAPACK libraries. If you have the Intel MKL developer kit, follow these instructions to build with it. The R Installation and Administration Guide also provides instructions on building R with various BLAS libraries including MKL, ATLAS and OpenBLAS.

So, does MRO ship with MKL or not?

Yes. I have installed Microsoft open r on both Windows and Linux machines, during the installation it will ask if you want MKL included. After the installation, r will be using mkl with multiple cores, and the information of MRO and MKL will be shown when r is started.

Perhaps worth asking the FSF about this then.

Frankly, I don’t want to stir up trouble with Microsoft or the R community. This does seem highly legally questionable, however.

I am not sure how Microsoft manages to do it legally, but I kind of remember Microsoft acquired Revolutions Analytics to get a share of the statistical computing market.

Revolutions Analytics used to have Revolution R, which is similar to MRO.

I guess Julia Computing may want to take a look at how they deal with the license issue.

1 Like

“Legal” is based on precedent,so probably MS feels they have the right lawyers to establish the right precedent, thereby making it legal.