Previously I used the 5.2 math library with

-static -lmkl_lapack -lmkl_p4 -lguide -lPEPCF90 -lpthread

with the fortran compiler 7.0 and the static link worked fine. Then I went to fortran 7.1 and math library 6.0 and 6.1. But in math library 6.0 and 6.1 there is no mkl_p4.a (but there is a Does this mean I can no longer link statically? I get an error message of there being no mkl_p4.a if I try to, but it works fine if I remove the -static. I upgrade to the math library 7.0 will I get this feature back, or do I need to go to fortran compiler 8.0?

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I'm not totally familiar with the history of various mkl versions. If you have a version with a single .a file, rather than architecture-specific versions, linking against the single .a should incorporate support for the various architectures. The choice between p4 and p-III compatible code, for example, would be made at run time, according to cpuid tests. As the last 6.1 MKL came out in March, and 7.0 was released in June, I'm not certain of the value of looking up answers specific to 6.0.

I wouldn't be confident about using MKL 6.0 with 8.0 compilers, but the choice of compiler shouldn't affect the static linking options supported by MKL. ifort doesn't have the same named run time libraries as earlier ifc compilers either. You don't need to know those specific names if you use the Fortran compiler with documented options to drive ld.

That's right. Please link with libmkl_ia32.a. The processor specific code will be launched automatically at runtime. This will be true for Intel MKL 7.0 as well.

That worked. Thanks.

Leave a Comment

Please sign in to add a comment. Not a member? Join today