Building Julia: Does the compiler matter?

I want to use Julia with MKL. As has been discussed, one currently has two options: use Julia Pro or build Julia from sources and setting flags. For many reasons I want to take the second approach.

Regarding performance, what compiler should I use to build Julia, icc or gcc? Does the choice influence performance at all. Here it has been mentioned that “Code generation is doen by LLVM so runtime performance AFAIU, run time performance should not depend on what you use to compile LLVM / Julia with.”

Is that true? Any ideas?

Using gcc is often more convenient and as far as I know automatically tested by the Julia team.

Performance wise, it shouldn’t really matter for all of the fast paths. Slow paths where this could matter includes parsing/dispatch/allocation/GC/codegen though if any of these takes significant time in your application, gcc vs icc would likely be the last thing you need to worry about.

I remember something about ifort/mkl abi compatibility issue but I have 0 idea what those are but it shouldn’t be a fundamental issue if it’s an issue at all. People that have actually build julia with MKL should know much better…

3 Likes

Thanks for the response!

By now, I’ve done a quick check for my particular application (a Quantum Monte Carlo code) and it appeared to not matter at all.