Intel® C++ Compiler
Support and discussions for creating C++ code that runs on platforms based on Intel® processors.
7651 Discussions

Using intel Omp library in visual studio 2017


Hi, I am trying to use the unsequenced policies in Pstl library, and I can't link to the intel Omp library.

I'm using visual studio 2017, the parallel version worked well with openmp 2.0. When I'm trying to go through the unsequenced policy which requires \Qopenmp-simd, I encountered several problems. 

I'm following the guide on

1. 2. If I'm using intel compiler c++ 19, do I still need to check _OPENMP_NOFORCE_MANIFEST?

2. I can't really find the path <Intel_compiler_installation_path>\IA32\LIB and <Intel_compiler_installation_path>\IA32\Bin, the most similar path I find would be C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.2.190\windows\compiler\lib\intel64 (I'm using a 64-bit system) and C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.2.190\windows\bin\intel64

3. at the additional options, I set " /nodefaultlib libiomp5md.lib" is it correct?

4. The OpenMP support in properties >C++ > language (intel c++) still says "enable openmp2.0 language extensions", and apparently there is no \Qopenmp-simd option.

Any help would be appreciated.

0 Kudos
2 Replies

When you have openmp options, then Intel openmp will be used instead of the standard one.

Did you happened to un-elect IA32 during the installation? 

Black Belt

\Qopenmp-simd enables processing of #pragma omp simd  but not parallel.  The plain \Qopenmp enables both.  With \Qopenmp-simd no OpenMP 2.0 pragmas will have effect, and there will be no linking to OpenMP library. 

It's entirely normal to install ICL with only X64 support even though Visual Studio has both 32- and 64-bit support.  Then you won't find any IA32 folders in the ICL installation, only intel64.