Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

lapack, blas basic info

grann
Beginner
996 Views
A previous post (Sept. 3) said "You must link with the lapack library, before the mkl library, if you require functions from it." My question is, "What is the lapack libraries and mkl libraries?" The mkl directory has many libraries, most all of which I don't know what they do. And what is an "explicit" link? My thought would be something like: -L/opt/intel/mkl60/lib/32 -lmkl to "explicitly" link to mkl, since one of the libraries in the directory is libmkl.so . Or is an explicit link simply a path to the mkl directory -L/opt/intel/mkl60/lib/32 Would an "explicit" link lapack be: -L/opt/intel/mkl60/lib/32 -lmkl_lapack The Fortran compiler's guide lists 7 default libraries the compiler always specifies (begining of Libraries chapter). But if there is a -L to the directory doesn't the linker searches all the libraries in some way that satisfies all the external appropriately? Why do I need to "explicitly" link. Sorry for such a basic question. But shouldn't Intel put a paragraph about this in their Fortran compiler's guide somewhere? (Also, I am not a moocher. Our department has bought at least a dozen Intel licenses and one year support packages recently as we begin transitioning to Linux. It's just taking awhile for me to get our IT people to give me one of them.)
0 Kudos
2 Replies
TimP
Honored Contributor III
996 Views
Yes, you can link with the -L and -l specifications you mentioned. I agree that a few working examples would be useful. As a paying customer, you might make that suggestion on premier.intel.com. There should be a short explanation of which libraries are in your version. Typically, for mkl, there are alternate versions, one requiring a p4 compatible CPU, one requiring p3 compatibility, and one "default." Then there is the one for lapack, and there is a libguide to support openmp in case a run-time kit is being installed separately from the Intel compiler, which already has that library. I hope I've represented it reasonably well. With a given binary build, you can use ldd to find out which libraries it will require to run.
0 Kudos
grann
Beginner
996 Views
Thanks. I found very good info in /opt/intel/mkl60/doc/mkluse.htm This info does not seem to be in the Intel Fortran Compiler User's Guide (which is what I was using) but is essential if one is to properly use the Intel math and lapack libraries.
0 Kudos
Reply