Computational Speed

Another problem is that if Julia links to MKL with the 64-bit BLAS API then any packages that link to libraries using the ordinary MKL API (32-bit BLAS) will crash. For example, any packages calling Python numpy routines, such as PyPlot, will crash with an MKL numpy (see e.g. Segfault with Julia MKL build (library conflict) · Issue #443 · JuliaPy/PyCall.jl · GitHub).

Of course, this is related to MKL being non free/open-source — otherwise, we could recompile MKL with renamed symbols to avoid library conflicts, like we do with OpenBLAS. (We could try to do it at the binary level with objcopy ala RFC: Patch openblas to add 64_ suffix when using 64 bit ints by tkelman · Pull Request #8734 · JuliaLang/julia · GitHub … I’m not sure if that would be permissible according to the MKL license?)

5 Likes