'Update OpenMP to higher versions in Visual Studio 2022
In VS22, OpenMP is still at version 2.0. Is it possible to update it to 5.0 or at least 3.0? I haven't managed to find any options in VS22 Installer which would allow that.
Solution 1:[1]
For a long time, MSVC used its own runtime that is completely obsolete now since it only support OpenMP 2.0 released 20 years ago. Since recently, MSCV now support the LLVM runtime (libomp also used by ICC) as a new backend. You can enable it using the flag /openmp:llvm meant to support OpenMP 3.1 (released 11 years ago). You can also use the /openmp:experimental so to be able to use some features of OpenMP 4.5 (typically tasks though this is the most experimental part). Offloading features (eg. on GPU) is not supported yet. The support of OpenMP 5.0 is not planed yet. For more information, please read this.
As pointed out by @Laci in the comments, an alternative solution is to use the Clang-cl compiler so to benefit from a relatively complete support of OpenMP in Visual studio. Please note that using Clang-cl instead of the default compiler can result in some incompatibility (especially for large codes). For example, Clang does not support some C++17/C++20 features like the parallel STL, polymorphic allocators or some advanced atomic features yet (as opposed to MSVC). You can get more information about the support of C++ features for each compiler here.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Jérôme Richard |
