Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Link statically with MKL

Gabriel_Toro
Beginner
511 Views

Hi,

I have a program that calls an MKL eigenvalue subroutine and I want to distribute copies of my program to others within my firm. Is it possible to link MKL statically? I understand this is not the preferred option, but static linking avoids many installation headaches. I am already linking the runtime libraries statically. Also, is there an option in Developer Studio for this? If not, I supposed I can still do it via the Command Line tab in DevStudio.

Thanks and my apologies if the question has been asked before.

Gabriel

0 Kudos
4 Replies
Roman1
New Contributor I
511 Views

You might want to look at:

https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/

In the "Select dynamic or static linking:" field, choose "Static".

 

0 Kudos
Gabriel_Toro
Beginner
511 Views

Thanks Roman for the suggestion. Unfortunately, it does not work. I still get asked for several dll's at startup and for others later when the eigenvalue subroutine DSPEVX.  

Any other suggestions out there?  BTW, I am using the latest IFORT and MKL 2017 and I use the Developer Studio Interface.

 

0 Kudos
TimP
Honored Contributor III
511 Views

You haven't said how previous posts on this subject (mainly on the MKL forum) fall short of answering your question. 

You would need to link the mkl_sequential library as there is no support for parallel without OpenMP or TBB parallel dll.  This may not be evident by looking at the link advisor.
 

0 Kudos
Gabriel_Toro
Beginner
511 Views

Thanks to Tim P. for the response. I looked through the MKL forum but I did not find any guidance on how to link statically using the Developer Studio and Windows. BTW, I already decided to go with the sequential option because I suspected it was easier.

0 Kudos
Reply