Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

Using intel Omp library in visual studio 2017

Xia__Daniel
Beginner
616 Views

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

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
616 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? 

0 Kudos
TimP
Honored Contributor III
616 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.

0 Kudos
Reply