How to use Intel® Compiler OpenMP* Compatibility Libraries on Windows*

The new OpenMP* Compatibility library
The Intel® Parallel Composer 2011, Intel C++ Composer XE for Windows, Intel Visual Fortran Composer XE for Windows, and the Intel C++ or Visual Fortran Compiler 10.1 or 11.x for Windows include the following new OpenMP* compatibility libraries:

  • libiomp5md.dll, libiomp5md.lib: dynamic performance library; options "/MD /Qopenmp-link:dynamic"
  • libiomp5mt.lib: static performance library; options "/MT /Qopenmp-link:static"
  • libiompprof5md.dll, libiompprof5md.lib: dynamic profile library; options "/MD /Qopenmp-profile"
  • libiompprof5mt.lib: static profile library; options "/MT /Qopenmp-profile"
  • libiompstubs5md.dll, libiompstubs5md.lib: dynamic stub library; options "/MD /Qopenmp-stubs"
  • libiompstubs5mt.lib: static stub library; options "/MT /Qopenmp-stubs"

Visual C++ 2005* provides only dynamic OpenMP libraries: vcomp.lib, vcomp.dll
Visual C++ 2008* provides only dynamic OpenMP libraries: vcomp90.lib, vcomp90.dll
Visual C++ 2010* provides only dynamic OpenMP libraries: vcomp100.lib, vcomp100.dll - this is supported by Intel Parallel Composer 2011, Intel C++ Composer XE for Windows and Intel Visual Fortran Composer for Windows only.

In one application there should be only ONE OpenMP run time library.

The Intel OpenMP compatibility libraries can be used with Microsoft* Visual C++ 2005, 2008 and 2010. Followings are some examples on how to use:

  • Using the Intel Compiler OpenMP compatibility libraries with Visual C++ 2008:

>> cl /c /MD /D_OPENMP_NOFORCE_MANIFEST /openmp ompSrc1.cpp
>> link /nodefaultlib:vcomp90 libiomp5md.lib ompSrc1.obj

  • Using the Intel Compiler OpenMP compatibility libraries with both Visual C++ 2008 and Intel C++ Compiler:

>> cl /c /MD /D_OPENMP_NOFORCE_MANIFEST /openmp ompSrc1.cpp
>> icl /c /MD /Qopenmp ompSrc2.cpp
>> xilink /nodefaultlib:vcomp90 libiomp5md.lib ompSrc1.obj ompSrc2.obj


The legacy OpenMP runtime library:
The legacy OpenMP runtime library is deprecated in 11.x release and are removed in the later compiler products. In case you're using a 3rd party library that uses the legacy OpenMP runtime, you can use the following option with 11.x compiler to link with the legacy libraries:

/Qopenmp-lib:legacy

The primary legacy OpenMP files are below: for full list of files, please see the Documentation installed.

  • libguide40.dll, libguide40.lib: dynamic library
  • libguide.lib: static library

Note: this option "/Qopenmp-lib:legacy" is only available in 11.x release and is not supported by the later compilers.

Optimization Notice in English

Per informazioni più dettagliate sulle ottimizzazioni basate su compilatore, vedere il nostro Avviso sull'ottimizzazione.