我想用OpenMP在C ++中编写并行程序,所以我开始使用OpenMP。 换句话说,我是初学者,我需要良好的OpenMP指南,告诉他们如何安装它。 有人知道如何在Windows上安装OpenMP,然后编译并运行该程序吗?
答案 0 :(得分:18)
OpenMP不是您安装的东西。它随你的编译器一起提供。您只需要一个支持OpenMP的合适编译器,您需要知道如何启用OpenMP支持,因为它通常默认是禁用的。
Windows的标准编译器来自Microsoft,它是Visual Studio的Microsoft Visual C / C ++编译器。不幸的是,它的OpenMP支持有点过时 - 即使是最新最好的Visual Studio也只支持OpenMP 2.0(2002年的过时标准版)。有关如何在Visual Studio中使用OpenMP的详细信息,请参阅here。还有其他编译器可用 - 英特尔C / C ++编译器(需要商业许可证)和GCC(免费提供)支持更新的OpenMP版本和其他编译器也可用。
您可以访问OpenMP网站here开始学习OpenMP。另外还有劳伦斯利弗莫尔国家实验室提供的关于OpenMP的精彩教程here。
答案 1 :(得分:7)
所以这就是我最终在Windows 10 PC上运行OpenMP所做的工作:
$("#output").html( "<table>" + html + "</table>" );
以确保其正常运行g++ -v
这是“乐趣”部分。因为此时他们的4.9。*版本中没有支持libgomp库我的gcc无法识别mingw-get upgrade --recursive "gcc<4.7.*" "gcc-g++<4.7.*"
最后一个支持版本是4.7.2所以有了这个我终于能够运行我的openMP 要编译运行<omp.h>
,它将全部工作
g++ -fopenmp myOpenMPFile.cpp -o myOpenMP
也适用于C代码
答案 2 :(得分:1)
我想分享一下我在Windows 10 PC上运行OpenMP所做的工作(2019年情况变得更加简单)
我使用GCC 8.2.0编译器从here安装了MinGW发行版。发行版的维护者已经向GCC添加了winpthreads和OpenMP支持。
我使用-fopenmp
标志编译了代码,如下所示:g++ -fopenmp main.cpp -o exec
注意:MinGW发行版支持许多有用的库(例如Boost 1.69.0)和其他实用程序。我发现它非常有用。