Using OpenMP 3/4 in Visual Studio 2017

Roi Danton picture Roi Danton · Apr 10, 2017 · Viewed 11.3k times · Source

Trying to use features from OpenMP 3

#pragma omp parallel for collapse(2)

in Visual Studio 2017; i'm getting error c3005: 'collapse' unexpected token encountered on openmp 'parallel for' directive

It seems Visual Studio 2017 only supports OpenMP2. In a request to support OpenMP4.5 it was said from VS team

We have no plans at this time.

Another answer said

Fortunately clang-cl has become a viable alternative with OpenMP 4 support. In the worst case you can still enable the /fallback option.

How to use clang-cl with Visual Studio 2017 and what is the fallback option?

Answer

Trass3r picture Trass3r · Jan 10, 2018

Update: The integration has been improved and you can now even install it via the VS installer. Also they are working on /MP support.


You may obtain clang-cl from http://llvm.org/builds/

But you may run into integration issues starting with VS2017:

/fallback is a clang-cl option which makes it fall back to Microsoft's compiler if it can't compile something itself.


But keep in mind there is no support for the /MP hack: http://clang-developers.42468.n3.nabble.com/clang-windows-clang-cl-support-for-MP-tp4045651p4045659.html