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

ippcc.dll loaded from IPP 4.0

martin-westphal
Beginner
942 Views

On a computer with IPP 4.0 and IPP 6.0 a program using IPP 4.0 is loading the ippcc.dll from IPP 6 which I don't understand. In the end OMP aborts with the problem described here: https://software.intel.com/en-us/articles/opm-abort-initializing-libguide40dll

Is this the result of any automated mechanism from the DLL dispatcher of IPP 4.0?

Any help is appreciated...

0 Kudos
7 Replies
Sergey_K_Intel
Employee
942 Views

Hi,

Please, make sure that IPP 4.0 DLL directory is first in the PATH environment variable. I.e.

set PATH=<ipp 4.0 bin path>;<ipp 6.0 bin path>;%PATH%    or
export LD_LIBRARY_PATH=<ipp 4.0 bin path>:<ipp 6.0 bin path>:$LD_LIBRARY_PATH

The OS catches the first library it meets in the path.

Or, remove IPP 6.0 DLL path from those variables completely.

0 Kudos
martin-westphal
Beginner
942 Views

Thanks for the suggestion, currently from the loading order IPP 4 is found in Windows System path and should therefore have preference over the IPP6 which is found from the PATH variable.

Removing IPP6 from the path is no option.

0 Kudos
Sergey_K_Intel
Employee
942 Views

Could it happen that (quote from MSDN):

  • If a DLL with the same module name is already loaded in memory, the system checks only for redirection and a manifest before resolving to the loaded DLL, no matter which directory it is in. The system does not search for the DLL.

What''s the Windows by the way?

0 Kudos
martin-westphal
Beginner
942 Views

It is Windows 7

I would like to understand how it comes, that the IPP 4 DLLs are leading to the load of ippcc.dll (introduced in IPP6, so in IPP4 no ippcc.dll was existing, from my understanding IPP4 doesn't contain any explicit reference to an ippcc.dll) I expect a general mechanism in the dispatcher of IPP4?

0 Kudos
Pavel_B_Intel1
Employee
942 Views

Hi,

It seems the problem is in an application which use ippCC functionality. I guess you have 2 or more applications. One is used IPP 4.0, another one is used IPP 6.0. So the system paths must be setupped correctly (on IPP 4.0 in the first case and on IPP 6.0 in the second case).

Pavel

0 Kudos
martin-westphal
Beginner
942 Views

I have tried to set IPP4 first in the path, but it doesn't change the behavior. In my understanding IPP4 shouldn't try to load the ippcc.dll at all...

0 Kudos
Pavel_B_Intel1
Employee
942 Views

IPP4 doesn't try to load ippcc.dll.

Your application (I don't know which one exact) is linked with ippcc.dll and other IPP DLLs. I guess the application is linked with IPP 6.0. So when the application is started it try to load all necessary DLLs. The path to IPP 6.0 DLLs must be the first in the PATH variable.

Try to setup PATH variable to IPP 6.0 at the first.

Pavel

0 Kudos
Reply