Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Xia__Daniel
Beginner
141 Views

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 https://software.intel.com/en-us/cpp-compiler-developer-guide-and-reference-using-the-openmp-librari...

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
Viet_H_Intel
Moderator
141 Views

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? 

TimP
Black Belt
141 Views

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