BLAS and LAPACK: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 25: Line 25:


= Using Intel MKL directly = <!--T:8-->
= Using Intel MKL directly = <!--T:8-->
Although we recommend using FlexiBLAS, it is still possible to use Intel MKL directly. If you are using one of the Intel compilers (e.g. <code>ifort, icc, icpc</code>) then the solution is to replace <tt>-lblas</tt> and <tt>-llapack</tt> with <tt>-mkl=sequential</tt> (without internal MKL threading) or <tt>-mkl</tt> (with threading) in your compiler and linker options in order to ensure that the MKL and thus BLAS/LAPACK are used. See [https://software.intel.com/en-us/mkl-linux-developer-guide-using-the-mkl-compiler-option here] for more on the significance of <code>sequential</code> and other options.  
Although we recommend using FlexiBLAS, it is still possible to use Intel MKL directly. If you are using one of the Intel compilers (e.g. <code>ifort, icc, icpc</code>) then the solution is to replace <tt>-lblas</tt> and <tt>-llapack</tt> in your compiler and linker options with either:
* <tt>-mkl=sequential</tt>, which will not use internal threading, or  
* <tt>-mkl</tt> which will use internal threading.
This will ensure that the MKL implementation of BLAS/LAPACK is used. See [https://software.intel.com/en-us/mkl-linux-developer-guide-using-the-mkl-compiler-option here] for more on the significance of <code>sequential</code> and other options.  


<!--T:9-->
<!--T:9-->
Bureaucrats, cc_docs_admin, cc_staff
2,879

edits