This guide is intended to help users of Julia language to get better performance by using Intel® Math Kernel Library (Intel® MKL) for their high performance compute intensive applications that rely on mathematical routines.
Download Julia source code
Intel MKL can be obtained from the following options
• A. Download a FREE evaluation version of the Intel MKL product
• B. Download the FREE non-commercial* version of the Intel MKL product.
Intel MKL can also be obtained by downloading free evaluation versions or non-commercial versions of the following products.
If you already have a commercial license of MKL and compilers, we recommend you to use the latest versions.
Set up the Intel MKL envrionment, for Intel64 architecture with 8 bytes integer support (ILP64)
$source /opt/intel/mkl/bin/mklvars.sh intel64 ilp64
and for ia32 architecture
$source /opt/intel/mkl/bin/mklvars.sh ia32
Edit Make.inc file located in julia folder and change USE_MKL = 0 variable to USE_MKL = 1
Also, change the MKLLIB variable to point to the appropriate library, by default it is set to intel64 architecture.
MKLLIB = $(MKLROOT)/lib/intel64
Alternately, you can also pass USE_MKL=1 option to make.
Building Julia with Intel MKL
Once you have set the Intel MKL environment and modified the Make.inc file to use MKL, building Julia with Intel MKL support is straightforward and proceed to building and installing Julia using the following command
To rebuild a pre-built Julia source installed with Intel MKL support, delete the OpenBLAS, ARPACK, and SuiteSparse dependencies from deps folder of and run
$make cleanall install
We would like to hear your feedback on using julia with MKL support on installation, performance or any suggestions.
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804