Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner

Large DLLs for both Dynamic Linking and Static Linking to IMSL Issues

I've recently upgraded IVF to Intel Parallel Studio XE 2018 Update 4 to take advantage of the new IMSL 6.

However, the resulting IVF DLLs are referenced to "IMSLMKL_DLL.DLL" when using the dynamic-link. Also, the size of the DLL is as large as the the one for using the static-linked.

Strangely, one of my other IVF DLL doesn't seems to be affected, still with reasonable sizes for the static and dynamic-linked options to IMSL.

Please advise.

0 Kudos
7 Replies
Highlighted
Black Belt

Link maps are your friend.

Link maps are your friend.

Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran
0 Kudos
Highlighted
Beginner

Hi Steve,

Hi Steve,

It's great to hear from you!

Can you elaborate more on "Link Maps"? or , point me to a resource so that I can give it a try? Thanks!

Cheers

George

 

0 Kudos
Highlighted
Black Belt

In the Linker property page,

In the Linker property page, I think General, set "Generate link map" to Yes. Build the project, then look for projectname.map in the output folder. This is a text file and among other things it shows all the things that contribute to the DLL or EXE. If you need help interpreting it, rename it to a .txt file and attach (not paste!) it to a reply here.

Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran
0 Kudos
Highlighted
Beginner

Steve,

Steve,

I created the MAP file from the Linker and rename it to a text file. See attached.

Please help me to interpret it. Thanks!

Cheers

George

 

0 Kudos
Highlighted
Beginner

Actually, the project in

Actually, the project in question is the one attached here.

Thanks!

0 Kudos
Highlighted
Black Belt

According to these link maps,

According to these link maps, both projects are linking against the static library versions of IMSL and MKL.  How are you referencing IMSL?

Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran
0 Kudos
Highlighted
Beginner

Hi Steve,

Hi Steve,

I've trying to reference to IMSL either by static or dynamic linking. Some of my IMSL calls may now use MKL function calls.

Just realize that IMSL 7.0 has increased the sizes of re-distribution DLLs (IMSL.DLL, IMSLMKL_DLL.DLL).  So I select the static linking to reduce the overall file size for redistribution (for this case, dynamic: 107 MB , static: 29 MB) 

Thanks bunch for all your big help,

George

George

 

0 Kudos