Installing software in your home directory: Difference between revisions

Jump to navigation Jump to search
no edit summary
(tweak LAPACK BLAS -> MKL instructions)
No edit summary
Line 47: Line 47:


== BLAS/LAPACK and MKL == <!--T:10-->
== BLAS/LAPACK and MKL == <!--T:10-->
Many software packages expect the commonly used numerical linear algebra libraries BLAS and LAPACK to be available as <tt>-lblas</tt> and <tt>-llapack</tt>. This is not the case on Compute Canada systems, where these libraries are integrated with Intel's [https://software.intel.com/en-us/mkl Math Kernel Library] (MKL). 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.
Please refer to our dedicated page on [[BLAS and LAPACK]].
 
<!--T:23-->
If you are using a non-Intel compiler, for example the Gnu compiler collection, then you will need to explicitly list the necessary MKL libraries during the link phase. Intel provides a tool called the [https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor MKL Link Advisor] to help you find the correct compiler and linker options.
 
<!--T:24-->
The same [https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor MKL Link Advisor] tool is also useful if you receive "undefined reference" errors while using Intel compilers and <code>-mkl</code>.
 
<!--T:25-->
There are other open source alternatives for BLAS and LAPACK that can be downloaded, built, and used:
* [http://www.openblas.net/ OpenBLAS]
* [http://math-atlas.sourceforge.net/ ATLAS]
* [http://www.netlib.org/lapack Reference implementation of BLAS/LAPACK]
* [https://www.netlib.org/clapack/ CLAPACK]
 
<!--T:28-->
If you use any of these, be sure to build them with suitable optimizations using recent compilers. If possible, verify their efficiency relative to other implementations. The reference implementation in particular is not optimized for performance; it is not recommended for work where speed is important.  CLAPACK uses the reference implementation so it is also not recommended.


== apt-get and yum == <!--T:7-->
== apt-get and yum == <!--T:7-->
Bureaucrats, cc_docs_admin, cc_staff, rsnt_translations
2,807

edits

Navigation menu