Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6758 Discussions

custom ipp build tool links with libiomp5mt.lib, custom mkl build tool links with libiomp5md.dll

Northsn__brian
Beginner
661 Views
Our groupare long time users of ipp and have been using the custom build tool in ipp-samples\\advanced-usage\\linkage\\csutomdll\\

Recently we started using MKL as well. It also has a custom build tool.

The problem is the ipp tool links with libiomp5mt.lib and the mkl tool links with libiomp5md.lib, meaning we get an OMP abort error (Initializing libiomp5md.dll, libiomp5mt.lib already initialized).

Reading over the forums it seems both should link with the same thing so I am guessing I have to change one of the custom makefiles.

Is there any reason the ipp and mkl custom build tools link with omp differently??

From what I've been reading to avoidconflicts all components shouldlink with ompdynamically, meaning changing the ipp customdll makefile. Though we are reluctant to do this because we have been using it for years with no problems.

Is there any reason that the ipp custom buildexamplelinks withlibiomp5mt.lib instead of libiomp5md.lib?? Would there be any danger in changing it to use libiomp5md.lib??
0 Kudos
6 Replies
Naveen_G_Intel
Employee
661 Views
0 Kudos
Northsn__brian
Beginner
661 Views

Thanks. Everything I have seen recommends dynamic linking with openmp (libiomp5md.lib).

The ipp custom build examples (which we followed) linked with openmp statically (libiomp5mt.lib), but I am going to try changing that to libiomp5md.lib so that we don't end up with two copies of the library, when mkl is used as well. I just wanted to make sure there is no reason that ipp has to be linked statically (libiomp5mt.lib).

0 Kudos
PaulF_IntelCorp
Employee
661 Views
Brian,
The OpenMP team has expressed a strong request that developers only link with the dynamic/shared OpenMP libraries. I believe the plan is to deprecate the static version of the OpenMP library in the next major release of the Intel compiler, meaning that the static version of the OpenMP library will eventually disappear altogether.
Paul
0 Kudos
Northsn__brian
Beginner
661 Views
Paul.

I gathered that from the reading I've been doing. Are you going to change the custom build sample?? That is what led us to use static linking to openmp in our custom ipp .dll.

Thanks for your help.
0 Kudos
PaulF_IntelCorp
Employee
661 Views
Brian,
I will prod engineering to get the samples, etc. changed to that effect.
Paul
0 Kudos
Naveen_G_Intel
Employee
661 Views

Hi Brian,

IPP 7.0 update 2 release has got fix to this issue, libiomp5mT.lib changed to libiomp5mD.lib in custom dll windows sample.

Thanks,

Naveen Gv

0 Kudos
Reply