An error after Intel Paralel Composer Installing

An error after Intel Paralel Composer Installing

Bild des Benutzers Cem

After installing Intel Paralel Studio I can not execute my working MFC application anymore, it has started opening a console with the following message

OMP: Warning #2: Cannot open message catalog "1055\libguide40ui.dll"

OMP: System error #126:The specified module could not be found

OMP: Info #3:Default messages will be used

OMP: Error #15: Initializing libguide40.dll, but found libiomp5md.dll already initialized.

OMP: Hint: This may cause performance degredation and correctness issues. Set environment variable KMP_DUPLICATE_LIB_OK=TRUE to ignore this problem force the program to continue anyway. Please note that BLA BLA .....

I'd be grateful to anyone helping resolve this issue. Otherwise I think about uninstalling Intel Paralel Composer seriously.

Regards

Cem

7 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.
Bild des Benutzers Feilong H (Intel)
Hi Cem,

I'm assuming that you re-compiled your MFC app with Parallel Studio. Did you use any older version of Intel libraries, like IPP and MKL? Did you explicitly link libguide40.dll, which is our legacy OpenMP run-time lib? Now Parallel Studio links the compatibility OpenMP run-time lib libiomp5XX.dll for OpenMP programs by default. If you need to use the legacy OpenMP lib for some reason, please use the /Qopenmp-lib:legacy option while compiling your code.

Feilong

Bild des Benutzers estarback
I ran into this problem as well. I found the solution to my problem in the Intel OpenMP Compatibility Libraries Usage Guide. They mention the /Qopenmp-lib:compat and /Qopenmp-lib:legacy compiler options. This is their recomendation for when using the Microsoft compiler. You can also make the necessary settings in the Visual C++ 2005 Development
Environment*; for example, setting the project Property Pages to indicate the Intel
OpenMP Run-time Library (RTL) location. Open the projects property pages in from
the main menu: Project > Properties. Then select Configuration Properties >
Linker > General > Additional Library Directories and enter something like the
following: IA32LIB To make the Intel OpenMP dynamic RTL accessible at run-time, you must specify the
corresponding path; for example, select Configuration Properties > Debugging >
Environment, and enter something like the following: PATH=%PATH%;IA32Bin Finally, add the Intel OpenMP RTL name to the linker options and exclude the default
Microsoft OpenMP RTL by selecting Configuration Properties > Linker >
Command Line > Additional Options, and enter something like the following: libiomp5md.lib /nodefaultlib:vcomp Quoting - Cem

After installing Intel Paralel Studio I can not execute my working MFC application anymore, it has started opening a console with the following message

OMP: Warning #2: Cannot open message catalog "1055libguide40ui.dll"

OMP: System error #126:The specified module could not be found

OMP: Info #3:Default messages will be used

OMP: Error #15: Initializing libguide40.dll, but found libiomp5md.dll already initialized.

OMP: Hint: This may cause performance degredation and correctness issues. Set environment variable KMP_DUPLICATE_LIB_OK=TRUE to ignore this problem force the program to continue anyway. Please note that BLA BLA .....

I'd be grateful to anyone helping resolve this issue. Otherwise I think about uninstalling Intel Paralel Composer seriously.

Regards

Cem

Bild des Benutzers jhwolf (Intel)
Quoting - estarback I ran into this problem as well. I found the solution to my problem in the Intel OpenMP Compatibility Libraries Usage Guide. They mention the /Qopenmp-lib:compat and /Qopenmp-lib:legacy compiler options. This is their recomendation for when using the Microsoft compiler. You can also make the necessary settings in the Visual C++ 2005 Development
Environment*; for example, setting the project Property Pages to indicate the Intel
OpenMP Run-time Library (RTL) location. Open the projects property pages in from
the main menu: Project > Properties. Then select Configuration Properties >
Linker > General > Additional Library Directories and enter something like the
following: IA32LIB To make the Intel OpenMP dynamic RTL accessible at run-time, you must specify the
corresponding path; for example, select Configuration Properties > Debugging >
Environment, and enter something like the following: PATH=%PATH%;IA32Bin Finally, add the Intel OpenMP RTL name to the linker options and exclude the default
Microsoft OpenMP RTL by selecting Configuration Properties > Linker >
Command Line > Additional Options, and enter something like the following: libiomp5md.lib /nodefaultlib:vcomp Quoting - Cem

After installing Intel Paralel Studio I can not execute my working MFC application anymore, it has started opening a console with the following message

OMP: Warning #2: Cannot open message catalog "1055libguide40ui.dll"

OMP: System error #126:The specified module could not be found

OMP: Info #3:Default messages will be used

OMP: Error #15: Initializing libguide40.dll, but found libiomp5md.dll already initialized.

OMP: Hint: This may cause performance degredation and correctness issues. Set environment variable KMP_DUPLICATE_LIB_OK=TRUE to ignore this problem force the program to continue anyway. Please note that BLA BLA .....

I'd be grateful to anyone helping resolve this issue. Otherwise I think about uninstalling Intel Paralel Composer seriously.

Regards

Cem

estarback,

Thank you for finding and posting the solution! We appreciate it!

Joe

Bild des Benutzers Cem
But How possible to use the /Qopenmp-lib:legacy with the VC compiler since the cl does not recognize this switch ? Cem Quoting - Feilong H (Intel) Hi Cem,

I'm assuming that you re-compiled your MFC app with Parallel Studio. Did you use any older version of Intel libraries, like IPP and MKL? Did you explicitly link libguide40.dll, which is our legacy OpenMP run-time lib? Now Parallel Studio links the compatibility OpenMP run-time lib libiomp5XX.dll for OpenMP programs by default. If you need to use the legacy OpenMP lib for some reason, please use the /Qopenmp-lib:legacy option while compiling your code.

Feilong

Bild des Benutzers Feilong H (Intel)
Cem, /Qopenmp-lib is a Parallel Composer option. MS compiler doesn't recognize it of course. I need more information about this problem. Is your app built with Parallel Composer or MS compiler? Does it use any Intel Performance Libraries, such as IPP, MKL? Thanks, Feilong
Bild des Benutzers Steve Lionel (Intel)

I realize this is an old thread, but it did not get fully resolved.

/Qopenmp-lib:compat is an Intel compiler option and the default in Intel Parallel Composer. It says to link in an Intel-supplied OpenMP library which is ABI-compatible with the OpenMP calls generated by Microsoft Visual C++. This allows you to use a mix of objects, some compiled by MSVC and some by Intel compilers, all of which use OpenMP.

As noted earlier, on the MSVC side you do not need to specify any compiler options. All you should have to do is instruct the linker to ignore the MSVC objects' request for the Microsoft OpenMP library. OpenMP calls made by MSVC-compiled code will be satisfied by the Intel library (libiomp5).

If you find your application has references to libguide40*, then some of it was compiled either with /Qopenmp-lib:legacy or with an older Intel compiler that did not support the "compat" option. These objects must be recompiled with an Intel compiler and /Qopenmp-lib:compat in order to be linkable with MSVC-compiled objects using OpenMP.

I hope you find this information helpful.

Steve

Melden Sie sich an, um einen Kommentar zu hinterlassen.