ippcc.dll loaded from IPP 4.0

ippcc.dll loaded from IPP 4.0

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...

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

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.

Regards, Sergey

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.

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?

Regards, Sergey

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?

Pavel Berdnikov (Intel)'s picture

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

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...

Pavel Berdnikov (Intel)'s picture

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

Login to leave a comment.